首页 > 代码库 > 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远程监控配置