Visualvm可以用来监视java程序的运行状况,它可以监视本地或远端的java程序,但是在监视远端的程序时,必须进行设置。
1.在远端机器上安装jdk,必须是jdk;
2.在远端及其上启动jstatd;
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
这时启动jstatd:
cd /usr/java/bin
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=172.28.xx.xx &
3.用jxm参数启动要监视的java程序,比如:
java -Dcom.sun.management.jmxremote.port=3333 /
-Dcom.sun.management.jmxremote.ssl=false /
-Dcom.sun.management.jmxremote.authenticate=false /
-Djava.rmi.server.hostname=172.28.xx.xx /
YourJavaApp &
4.在本地使用Visualvm连接172.28.xx.xx就可以了。
具体的步骤参见:
http://java.sun.com/javase/6/docs/technotes/guides/visualvm/applications_remote.html
如果出现什么问题,可参见以下的链接:
http://blogs.sun.com/jmxetc/entry/connecting_through_firewall_using_jmxechocomment-1204031889000
http://blogs.sun.com/reichart/entry/jmx_unter_debian