jvisualvm 同 jconsol e都是一个基于图形化界面的, 可以查看本地及远程的 Java Gui 监控工具.
1. 配置方式
- 创建配置文件
jstatd.all.policy
1 2 3
| grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
|
- 启动监控服务
1
| nohup jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true &
|
- 配置 JMX 管理 Tomcat
在 startup.sh 最后一行前添加
1
| export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=11099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Xshare:off"
|
2. BTrace
BTrace 是 VisualVM 的一个插件, 本身也可以独立运行.
它的作用是在不停止目标程序运行的前提下, 通过 HotSpot 虚拟机的 HotSwap 技术动态加入原本不存在的调试代码.