Jstatd方式远程监控Linux下 JVM运行情况

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Jstatd方式远程监控Linux下 JVM运行情况脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

转自:http://www.cnblogs.com/catkin...
介绍两个jdk1.8自带的可视化监视工具

Jconsole:

Java 6.x采用JMX方式提供了一系列监视和管理虚拟机的API,随SDK一起发布的JConsole则是采用这些API实现监控虚拟机的使用工具。 JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。

JVisualVM:

是Netbeans的PRofile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisuaLVM.exe),能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。

VisualVM和JConsole在监控本地JVM的时候是很方便的。只要应用程序运行起来,我们就可以连接上本地JVM,从VisualVM里面监控JVM的情况。

远程服务器上的JVM监控就需要一些额外的配置。目前VisualVM支持两种监控方法:Jstatd方法和基于JMX的方法。

这篇博客我们先介绍Jstatd方法

jstatd是一个rmi的server应用,用于监控jvm的创建和结束,并且提供接口让监控工具可以远程连接到本机的jvm 。jstatd位于 $JAVA_HOME/bin目录下,具体使用方法如下:

1,启动RMI服务

在需要被监控的服务器上面,通过jstatd来启动RMI服务
首先,配置java安全访问,在服务器jdk路径(/java_home/bin)下新建文件
名称: jstatd.all.policy
内容:

grant codebase "file:${java.home}/../lib/tools.jar" {

PErmission java.securITy.AllPermission;

};
然后在进入jstatd.all.policy所在目录下,通过如下的命令启动RMI服务:

./jstatd -J-Djava.security.policy=jstatd.all.policy
或者

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器IP

2.启动客户端的VisualVM,添加远程主机

VisualVM 在/java_home/bin目录下

连接后会自动加载出服务器JVM运行情况。

在Jstatd监控方式下,JConsole是不能启用的,因为JConsole登录需要端口号。

另外我们还可以为VisualVM安装一些插件,比如GC,MBeans等等。满足自己的需要。下一篇博客讲解以JVM方式实现远程监控。

脚本宝典总结

以上是脚本宝典为你收集整理的Jstatd方式远程监控Linux下 JVM运行情况全部内容,希望文章能够帮你解决Jstatd方式远程监控Linux下 JVM运行情况所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。