热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VisualVM远程连接Linux服务器通过jstatd方式监控JVM内存状态

2019独角兽企业重金招聘Python工程师标准VisualVM远程连接Linux监控JVM的方式有两种,一种是jstatd,另外一种是JMX,这里描述jstatd的方式:1

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

VisualVM远程连接Linux监控JVM的方式有两种,一种是jstatd,另外一种是JMX,这里描述jstatd的方式:

1.通过google/baidu出来的文章做法大致都雷同这里给出我开始参考的连接http://lixjluck.iteye.com/blog/516447

2. 但是我所遇到的问题上文中没有解决, 我的问题是当我执行

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true 启动jstatd以后总是出现无法连接xx.xxx.xxx.xx的一个错误提示, 而这个 xx.xxx.xxx.xx却是该机器的外网IP,通过hostname -i 可以看到. 

经过一番google没有发现这样的问题, 大多的问题出现在 无法连接127.0.0.1这样的错误. 参考http://blog.csdn.net/yangyan19870319/article/details/6732411

但是通过上面的连接中的文章,把我引向了一个相对正确的方向.我本身是在内网, 发起jps连接是内网地址, 那么服务器接收地址然后解析, 但是在服务器上/etc/hosts中没有对内网地址的映射, 只有一个127.0.0.1 localhost localhost .

然后通过jps help 看到jps 后面的参数是hostname,  遇上 通过查看 /etc/sysconfig/network里的HOSTNAME的值, 将其加入到/etc/hosts 当中 : 内网地址 hostname的值 localhost , 放在127.0.0.1的配置之前. 

最后我的本机 jps 内网地址 ,成功连接. 这里通过JPS成功连接也就意味着 VisualVM 可以正常连接. 

注: 还有一个问题就是, 虽然我可以telnet 通1099这个默认端口, 但是必须在关闭防火墙的情况下才能连接, 否者不行, 似乎远程连接的时候不仅仅1099这个端口别占用, 可能还有其他端口涉及.


转载于:https://my.oschina.net/anomynous/blog/170842


推荐阅读
author-avatar
大东o世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有