我們有時候需要遠程的監控jvm,監控jvm有兩種方式:
1.jmx #測試能監控cpu和內存,線程
2.jstatd #測試後發現無法監控cpu和內存,線程
由此用jmx來監控,jmx的連接有兩種方式rmi和jmxmp
1.以生產環境openfire3.10爲例:
openfire採用源碼的形式安裝:
修改 openfire的啓動腳本 /var/openfire/bin/openfire.sh,在OPENFIRE_OPTS參數中添加jmx的配置
(tomcat等的jvm與此類似,在啓動腳本options添加參數)
2.配置jmx遠程監控。
在OPENFIRE_OPTS=“”中添加如下,此配置無需用戶密碼登陸
-Dcom.sun.management.jmxremote.port=19888
-Djava.rmi.server.hostname=192.168.3.219 #注意此處要填寫rmi方式連接主機,因爲virtualVM採用此種方式連接,網上的坑走了很多彎路。
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
#此處沒有配置用戶和密碼去遠程監控
3.用客戶端java virtualVM 創建遠程連接