本文目录 概要 配置过程 1 配置startupsh文件 2 创建账号密码和权限配置文件 修改访问权限 运行自己的JVisualVM 添加主机 添加JMX连接和登陆验证
因为项目最后部署在腾讯云服务器上,所以分析性能不是很方便。 但是可以通过 VisualVM 远程监控 Tomcat , 以便性能分析。
可以看到CPU使用率, 获取堆栈快照, 手动堆栈回收, 死锁线程分析等等, 还可以安装其他插件。
本文将记录配置过程, 以便自己后续用到查看。
在$CATALINA_HOME/bin/startup.sh 倒数第二行(也就是exec "$PRGDIR"/"$EXECUTABLE" start "$@"一行上边)写入下面的内容:
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=*.*.*.* YOUR SERVER IP -Dcom.sun.management.jmxremote.port=7003 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
截个图, 这样看着更直观, 看看加入代码的相对位置。
参数说明:
-Dcom.sun.management.jmxremote 启用JMX远程监控 -Djava.rmi.server.hostname=*.*.*.* 你的tomcat服务器IP地址 -Dcom.sun.management.jmxremote.port=7003 jmx连接端口 -Dcom.sun.management.jmxremote.ssl=false 是否ssl加密 -Dcom.sun.management.jmxremote.authenticate=true 远程连接需要密码认证 -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password 指定连接的用户名和密码配置文件 -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access 指定连接的用户所拥有权限的配置文件
创建touch jmxremote.access里添加可以连接监控的用户名以及权限:
文件内容如下:
monitorRole readonly controlRole readwrite
cat jmxremote.access 查看里面的内容如下:
ubuntu@VM-0-7-ubuntu:/Develop/tools/tomcat8.5/conf$ cat jmxremote.access torRole readonly controlRole readwritejmxremote.password
touch jmxremote.password 创建存储账号密码的文件
写入下面内容:
monitorRole 111111 controlRole 222222
修改jmxremote.access和jmxremote.password的权限:
sudo chmod 600 jmx*
然后, 重启Tomcat使之生效。
远程,添加主机,输入服务器的ip: