jdk中已提供了功能强大基于GUI界面的jvm监控工具,在jdk bin目录下可以看到,
例如:jconsole、jvisualvm和oracle jrockit jvm’s jrmc.exe
简介如下:
GUI工具 | 支持类型 | GUI本地运行版本(JRE) | 被测JVM版本 |
jconsole | jvm,jrockit jvm | 1.5及以上 | 1.5及以上 |
jvisualvm | jvm | 1.5及以上 | 1.5及以上 |
jrmc | jrockit jvm | 1.4.2及以上 | 1.4.2及以上 |
1.jvm:sun's jvm(普通jvm) | 2.jrockit jvm:oracle(weblogic默认) |
备注一:jrmc :Oracle JRockit Mission Control的简称
备注二:注意保持工具jvm与被测jvm版本一致
备注三:JDK1.7及以上,仅有Oracle jdk,Oracle公司已经将jrmc改造为jmc工具,也只有jconsole和jmc工具可以使用
1. 监控本地jvm与远程jvm
监控本地jvm,启动任意种GUI工具,工具会自动查询出本地jvm进程,但是要注意这里只能监控当前用户(非管理员)启动的jvm,无权限检测到其他用户启动的jvm。
2. 监控远程jvm,被测jvm上需要启动一个远程服务(每个工具有各自多种服务)
3. 修改中间件配置,在jvm新增JAVA_OPTIONS参数:
Weblogic jrockit jvm 开启监控服务参数:
-Xmanagement:ssl=false,authenticate=false,port=7091 ---jdk1.5+(weblogic10)
-Xmanagement:port=7091 –jdk1.4.2(weblogic8.1)
Sun jvm 开启监控服务参数:
-Dcom.sun.management.jmxremote.port=8899
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Port均为临时占用,且可以自定义