jdk自带的jvisualvm-监控远程linux

简介

jdk有好多自带的工具比如jconsole、jvisualvm、jstatd等
Windows的路径:%JAVA_HOME/bin/目录下,配置好环境变量直接用cmd执行jvisualvm命令即可
mac的jvisualvm的启动路径:/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jvisualvm

使用jvisualvm监控远程linux

①在远程Linux主机上安装jdk
②在jdk的bin目录下创建文件:vi jstatd.all.policy
输入:
grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};
③启动jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname= -J-Djava.rmi.server.logCalls=true -p 1099 &

④启动jvisualvm,添加远程主机,默认端口是1099.即可看到远程Linux的JAVA进程的监控情况了。

⑤查看发现在监控远程服务器时,没有监控到cpu数据,这时需要在服务器端建立 JMX ,建立 JMX 提示要求端口号。( JMX: Java Management Extensions ,即 Java 管理扩展 , 是一个为应用程序、设备、系统等植入管理功能的框架。 JMX 可以跨越一系列异构操作系统平台、系统体系结构和 网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用 。而 Visual VM是通过 JMX 来和远程 Java 应用联系的 )。修改远程服务器tomcat的catalina.sh的参数,如下:

JAVA_OPTS="-Xms1024m -Xmx2048m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
即可查看

原文地址:https://www.cnblogs.com/chengzhipcx/p/10336812.html