首页 > 代码库 > JAVA VirtualVM远程监控配置
JAVA VirtualVM远程监控配置
Virtual VM是JDK6 Update7之后推出的工具,有集合其它JDK工具的倾向,目前JDK7的版本已经支持绝大部分的监控功能,好像还不能像Jprofile和Youkit那样支持实时跟踪内存堆栈来定位内存泄露问题。
对于远程应用的连接,Virtual VM提供两种方式:JMX和jstatd,下面介绍这两种连接的配置。
JMX:
在远程服务器上的 jdk 目录下的jre/lib/management下找到jmxremote.password.template文件,然后将其复制为pwd.file指向的文件(如:cp ./jmxremote.password.template /jmx/jmx.pwd),在jmx.pwd文件最后一行加入用户名和密码,格式为:用户名 密码
如:jmx jmx
增加JVM参数
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=6789"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.pwd.file=/jmx/jmx.pwd"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"
最后重启远程服务器应用后,就可以用JAVA VirtualVM连接了。
jstatd:
在远程服务器上创建一个java.policy文件,如:
/tmp/jstatd.java.policy grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
启动远程服务器上的jstatd进程:
本文出自 “jixian” 博客,转载请与作者联系!
JAVA VirtualVM远程监控配置