VisualVM远程监控JVM设置

VisualVM远程监控JVM设置

配置 jstatd 的 security policy 文件

jstatd是一个监控 JVM 从创建到销毁过程中资源占用情况并提供远程监控接口的 RMI ( Remote Method Invocation ,远程方法调用)服务器程序,它是一个 Daemon 程序,要保证远程监控软件连接到本地的话需要 jstatd 始终保持运行。

jstatd运行需要通过 -J-Djava.security.policy=*** 指定安全策略,因此我们需要在服务器上建立一个指定安全策略的文件 jstatd.all.policy ,文件内容如下:

grant codebase "file:${java.home}/../lib/tools.jar" {  
   permission java.security.AllPermission;  
};  

启动RMI服务

jstatd -J-Djava.security.policy=jstatd.all.policy

如果出现问题,请查看文档: 
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstatd.html

由于 jstatd 需要保持一直运行,所以建议使用 screen 命令执行 jstatd 程序,命令如下:

screen jstatd -J-Djava.security.policy=jstatd.all.policy  

如果需要RMI 日志功能的话,还可以在启动参数中加入 -J-Djava.rmi.server.logCalls=true

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true  

通过VisualVM连接

在Java VisualVM 程序窗口左侧 “ 远程 ” 项目右键选择 “ 添加远程主机 ” ,在弹出的对话框中输入远程主机的 IP 地址,确认提交后即可看到相应的远程主机和在上面运行的 Java 程序,连接成功后会显示 Jstatd 及其 PID 。

VisualVM远程监控JVM设置_第1张图片

参考:

http://ihuangweiwei.iteye.com/blog/1219302

http://topinking.iteye.com/blog/474835

你可能感兴趣的:(java,jvm,visualvm)