使用jdk自帶的jconsole、jvisualvm插件,監控遠程linux服務器中tomcat的jvm狀況java
(jconsole、jvisualvm插件可查看堆內存變化狀況,線程狀態,CPU使用狀況,分析線程死鎖等,可監控本地和遠程服務器的JVM,本地監控無須進行配置,下面是筆者實際操做的遠程監控的配置步驟)linux
步驟:tomcat
一、修改linux服務器中tomcat目錄的catalina.sh文件,配置遠程服務的端口服務器
編輯tomcat的bin目錄下的catalina.sh文件,在「# ----- Execute The Requested Command -------------」插入jvm
CATALINA_OPTS="$CATALINA_OPTS性能
-Dcom.sun.management.jmxremote測試
-Dcom.sun.management.jmxremote.port=9999插件
-Dcom.sun.management.jmxremote.ssl=false線程
-Dcom.sun.management.jmxremote.authenticate=true"3d
,其中port=9999,可自行設置,注意添加一個未使用的端口便可
修改完成,保存文件
二、修改linux服務器中jdk目錄的配置文件
進入/java/jre1.8.0_77/lib/management目錄,查看文件。
2.1 修改jmxremote.access文件,將文件最後兩行顯示【monitorRole和controlRole】的註釋取消,其中monitorRole爲只擁有隻讀權限的角色,controlRole有更高權限:讀寫等。編輯完成後,保存。
2.2 默認狀況下該目錄下不存在jmxremote.password 文件,咱們能夠將jmxremote.password.template文件複製出來一份再重命名便可,而後修改jmxremote.password文件。一樣將文件最後兩行顯示【monitorRole和controlRole】的註釋取消。而後保存。
2.3 對jmxremote.access和jmxremote.password文件進行受權
三、修改/etc/hosts文件,把127.0.0.1改爲本機IP,如192.168.101.100
四、在本地的jdk目錄下啓動jconsole.exe進行鏈接
輸入地址和端口,和用戶名密碼,其中端口爲catalina.sh文件中配置的遠程服務端口;用戶名和口令爲jmxremote.password文件中的帳號信息
鏈接可查看監控信息
五、同理可以使用jvisualvm.exe插件鏈接,監控
(備註:參考資料:《全棧性能測試修煉寶典JMeter實戰》9.8 JVM監控)