一、介紹
Jconsole,Java Monitoring and Management Console。
java監(jiān)控和管理控制臺(tái),從java5開(kāi)始,在JDK中提供。
用于對(duì)JVM中內(nèi)存,線程和類等的監(jiān)控。
二、本地監(jiān)控
a)在Java項(xiàng)目啟動(dòng)腳本中加上 -Dcom.sun.management.jmxremote
如:java -Dcom.sun.management.jmxremote -jar imstart.jar
b)查詢啟動(dòng)Java項(xiàng)目的PID window中在"任務(wù)管理器"中直接可以查看[首次使用需要在"查看"--"選項(xiàng)列"--"pid"]或者使用命令 tasklist
linux ps -ef|grep java
c)進(jìn)入%JDK_HOME%bin/目錄 cmd模式中輸入 jconsole [pid]
三、遠(yuǎn)程監(jiān)控
a)匿名遠(yuǎn)程監(jiān)控
匿名遠(yuǎn)程監(jiān)控即無(wú)效認(rèn)證就可以監(jiān)控。
在Java項(xiàng)目啟動(dòng)腳本中加上如下選項(xiàng)
-Djava.rmi.server.hostname=192.168.1.*[服務(wù)器ip] -Dcom.sun.management.jmxremote.port=8088[jmx端口]
-Dcom.sun.management.jmxremote.ssl=false[不使用SSL] -Dcom.sun.management.jmxremote.authenticate=false[匿名]
打開(kāi)Jconsole選擇"遠(yuǎn)程"輸入IP 端口 連接
b)認(rèn)證遠(yuǎn)程監(jiān)控
在%JRE_HOME%/lib/management/目錄下[簡(jiǎn)稱MM目錄](méi)編輯"jmxremote.access"[用戶名]文件
[用戶名] [權(quán)限]
monitorRole readonly [只讀]
controlRole readwrite [讀寫]
zxpRole readwrite [讀寫]
在MM目錄下找到密碼模板"jmxremote.password.template"復(fù)制一份根據(jù)自己喜歡的命名如:"jmxremote.password"并編輯該文件
[用戶名] [密碼]
monitorRole QED
controlRole R&D
zxpRole xxx
在MM目錄下編輯"management.properties"文件
將該文件中的參數(shù)"#"去除表示可用并填寫相應(yīng)的參數(shù)值如:
com.sun.management.jmxremote.port=8088
com.sun.management.jmxremote.ssl=false
com.sun.management.jmxremote.authenticate=true[認(rèn)證]
com.sun.management.jmxremote.password.file=C:/Java/jre1.5.0_15/lib/management/jmxremote.password
com.sun.management.jmxremote.access.file=C:/Java/jre1.5.0_15/lib/management/jmxremote.access
完成以上操作后最后編輯Java項(xiàng)目啟動(dòng)腳本加上以下參數(shù)
java -Dcom.sun.management.config.file=C:/Java/jre1.5.0_15/lib/management/management.properties -Djava.rmi.server.hostname=192.168.1.132 -jar imstart.jar
打開(kāi)Jconsole選擇"遠(yuǎn)程"輸入IP 端口 用戶名 密碼 連接
四、自已測(cè)試成功命令
#!/bin/bash
CLASSPATH=../MTOServer:./lib/newcomapi.jar:./lib/build-1.02.jar:./lib/configapi.jar:./lib/log4j-1.2.8.jar:./lib/logapi.jar
java -Xmx1024m -Djava.rmi.server.hostname=192.168.0.244 -Dcom.sun.management.jmxremote.port=7777 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -cp "$CLASSPATH" com.xuanwu.smap.cmppmtoserver.YDMtoServer > /home/esms/gateway/startScript/MTOServer/console.log & echo $! > /home/esms/gateway/startScript/MTOServer/ps.pid &
echo "MTOServer is runing"
posted on 2011-07-05 14:12 tobyxiong 閱讀(829) 評(píng)論(0) 編輯 收藏
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。