1 作用
linux环境想启动jconsole 或者 jvisualvm有点麻烦,所以一般需要用你的windows或者Mac机器去远程监控,开启远程监控有两种方式:jstated和JMX。 本文介绍jstated。
2 使用
- 在/java_home/bin 下新建文件 jstatd.all.policy 并写入内容:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
- 启动:
./jstatd -J-Djava.security.policy=jstatd.all.policy
或者
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=XXX.XX.XX.XX
-
jvisualvm 添加远程服务:
然后会列出来所有这台机器上的java进程:
选择一个你想监控的进程:
遗憾的是不能抽样:
抽样需要用JMX,请参考JMX - 远程监控JVM