梳理JVM内存结构、GC、类加载、AOP编程及性能监控——12

75 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第48天,点击查看活动详情

图形化工具jvisualvm.exe

一般结合JMX分析,分析远程tomcat状态

  • tomcat配置

修改远程tomcat的catalina.sh配置文件,在其中增加(不走权限校验。只是打开jmx端口): JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.122.128 -Dcom.sun.management.jmxremote.port=18999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

--

如果连接的是公网上的Tomcat,那么就要注意安全性了,接下来看看使用用户名和密码连接 JAVA_OPTS='-Xms128m -Xmx256m -XX:MaxPermSize=128m -Djava.rmi.server.hostname=10.10.23.10 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/path/to/passwd/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/path/to/passwd/jmxremote.access'

以下分别编辑jmxremote.password与jmxremote.access两个文件 jmxremote.password

monitorRole 123456 controlRole 123456789

jmxremote.access

monitorRole readonly controlRole readwrite

完成这两个文件后修改jmxremote.password的权限chmod 600 jmxremote.password

  • 工具使用 配置后重启tomcat,然后从本机上使用jvisualvm.exe,按照配置输入远程地址、用户名密码,即可进行监控,包括CPU、Head、Thread、Objects等分析