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進程:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章