程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA VirtualVM遠程監控配置

JAVA VirtualVM遠程監控配置

編輯:關於JAVA

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

jstatd -J-Djava.security.policy=/tmp/jstatd.java.policy -J-Djava.rmi.server.logCalls=true

然後就可以在客戶端用JAVA VirtualVM進行連接了。

出處:http://stevex.blog.51cto.com/4300375/771990

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved