参考:http://blog.itpub.net/17203031/viewspace-765810
一、Jstatd RMI远程监控方法
VisualVM在监控本地JVM的时候是很方便的。只要应用程序运行起来,我们就可以从VisualVM里面监控出来。
远程服务器上的JVM监控就需要一些额外的配置了。目前VisualVM支持两种监控方法:Jstatd方法和基于JMX的方法。我们先介绍Jstatd方法。
Jstatd方法是利用后台的RMI守护进程来实现对远程JVM的监控。
1.查看一下JAVA_HOME/bin目录下的jstatd命令
[bigdata@cupcs3 bin]$ ls -l | grep jst drwxr-xr-x 2 root root 4096 Jul 5 05:54 jstatd
2.在JAVA_HOME/bin目录下,创建一个监控策略文件。
--策略文件内容
[bigdata@cupcs3 bin]$ vi jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
3. 查看远程主机ip,然后调用jstatd命令启动进程。
[bigdata@cupcs3 bin]$ hostname -i
192.168.20.21
[bigdata@cupcs3 bin]$ jstatd -J-Djava.security.policy=jstatd.all.policy
4.此时,在监控程序VisualVM添加一个远程主机之后,自动显示出监控进程情况。
在Jstatd监控方式下,Sampler、MBeans、JConsole是不能启用的。
二、JMX方式