VisualVM和JConsole在监控本地JVM的时候是很方便的,只要应用程序运行起来,我们就可以连接上本地的JVM,从工具中监控JVM的情况。但是监控远程服务器上的JVM就需要进行一些额外的配置了。
- 建立jstatd安全策略文件
jstatd:Java Statistics Monitoring Daemon,是一个基于RMI的服务程序,用于监控基于HotSpot的JVM中资源的创建及销毁,并提供了一个接口允许远程的监控工具连接到本地的JVM执行命令。
Jstatd运行需要通过-J-Djava.security.policy=*** 指定安全策略,因此我们需要在服务器上建立一个指定安全策略的文件jstatd.all.policy,内容如下:
- grant codebase "file:${java.home}/../lib/tools.jar" {
- permission java.security.AllPermission;
- };
放到jdk1.8.0_162/bin目录下。
- 修改服务器hosts文件中的IP地址
IP地址不能为127.0.0.1而应该是本机实际IP
- 运行jstatd
./jstatd -J-Djava.security.policy=jstatd.all.policy
- 通过VisualVM进行监控
主机名填入IP地址即可
端口什么的都用默认的,然后就可以看了