明天就流量监控 2020-02-13
VisualVM在Java 8中是JDK自带的一个图形化工具,项目主页 VisualVM,在后续版本中可能会从JDK移除。
VisualVM可以监控Java进程的CPU与内存占用情况,可以监控Java进程内的各个线程的执行情况,还可以与MAT工具一样用来分析堆转储快照。
监控远程主机上的Tomcat进程,需要在Tomcat的catalina.sh文件中加入参数:
JAVA_OPTS="$JAVA_OPTS -Dcom.sum.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPV4Stack=true -Djava.rmi.server.hostname=x.x.x.x"
打开VisualVM,文件 -> 添加JMX连接,输入刚才设置的IP和端口号:
监控远程主机上使用java -jar
启动的Java进程,需要在执行的java -jar
命令中加入以上参数:
nohup java -Dcom.sum.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPV4Stack=true -Djava.rmi.server.hostname=x.x.x.x -jar Demo-0.0.1-SNAPSHOT.jar &
VisualVM的使用非常简单,对各个面板做个简单介绍。
除了这几个面板之外,VisualVM还支持插件来扩展功能,常用的有Visual GC以及BTrace插件,使用插件需要在工具->插件的设置面板中配置插件中心地址,插件中心地址与JDK版本对应,具体可查看插件中心文档。