如果你还没有安装java VisualVM,请参照下文安装:
https://blog.csdn.net/yujianping_123/article/details/99549194
远程监控Linux服务器
操作如下图:
添加远程主机,输入主机名或者IP,确定
添加JMX连接:
配置远程JVM启动时的JMX。
增加JAVA_OPTS配置
JAVA_OPTS="$PREPEND_JAVA_OPTS $JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.10 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=10011 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
其中,-Djava.rmi.server.hostname 远程jvm服务器(即本机)的ip或者服务器名
-Dcom.sun.management.jmxremote=true 允许jmx
-Dcom.sun.management.jmxremote.port 设置远程监控端口
-Dcom.sun.management.jmxremote.ssl=false 不进行ssl通信
-Dcom.sun.management.jmxremote.authenticate =false 不进行用户名和密码通信
如果在配置过程中报错 org.jboss.logmanager.LogManager 找不到或者不兼容,请参考:
https://blog.csdn.net/yujianping_123/article/details/100979989
添加JMX连接,不需要安全凭证,端口是10011
但是visual Gc连不上,是因为此插件使用的协议是RMI,因此需要使用下面的jstatd方式进行连接。
配置jstatd
创建文件jstatd-all.policy
并复制下列内容
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
保存在某个目录,如:/home/policy
然后执行:
jstatd -J-Djava.security.policy=/home/policy/jstatd-all.policy -J-Djava.rmi.server.hostname=192.168.1.10 -J-Djava.rmi.server.logCalls=true
可选参数 -p 1099 指定服务的端口号,默认是1099 .
执行后成功: