性能測試之JVM監控


一、工具簡介

VisualVM,能夠監控線程,內存情況,查看方法的CPU時間和內存中的對象,已被GC的對象,反向查看分配的堆棧,從界面上看還是比較簡潔的,左邊是樹形結構,自動顯示當前本機所運行的Java程序,還可以添加遠程的Java VM,其中括號里面的PID指的是進程ID。OverView界面顯示VM啟動參數以及該VM對應的一些屬性。Monitor界面則是監控Java堆大小,Permgen大小,Classes和線程數量。

二、打開JVisualVM

1、打開JVisualVM

找到Jdkl安裝的路徑的bin路徑下,雙擊運行即可

 

 

1、顯示頁面如下

 

2、增加遠程監控--選擇遠程--右鍵增加 寫入需要監控的Linux的ip地址即可

 

 

 

方案描述:JVisualVM監控Linux有2種:1、JMX方式  2、Jstatd方式,兩者需要結合,本方案不設置安全賬戶密碼進行連接,工作中可以自行增加監控的賬號與密碼

 

三、JVisualVM監控Linux---JMX方式

 

JMX監控方式,缺陷:沒有GC監控功能

1、修改catalina.sh 文件,文件在你項目的tomcat目錄下

 

 

#!/bin/sh
export JRE_HOME=/usr/local/jdk1.7.0_80
JAVA_OPTS='-Xms""m -Xmx""xm -XX:PermSize=""m -XX:MaxPermSize=""m      
           -Djava.rmi.server.hostname=你服務器的ip
           -Dcom.sun.management.jmxremote.port=10001
           -Dcom.sun.management.jmxremote.ssl=false 
           -Dcom.sun.management.jmxremote.authenticate=false '  

主要增加的是從你服務器ip及往下的內容

2、在tomcat lib目錄中增加jar包:catalina-jmx-remote.jar

3、防火牆開啟10001端口,指令如下:按照順序執行即可

systemctl start firewalld                  ##開啟防火牆
firewall-cmd --add-port=10001/tcp --permanent     ##永久添加10001端口
firewall-cmd --add-port=10002/tcp --permanent     ##永久添加10002端口
firewall-cmd --add-port=10003/tcp --permanent     ##永久添加10003端口
firewall-cmd --add-port=1099/tcp --permanent     ##永久添加1099端口
firewall-cmd --list-ports                    ##列出開放的端口
systemctl stop firewalld                  ##關閉防火牆

4、驗證是否可以監控--成功

 

 

 

 

 

 

 

 

四、JVisualVM監控Linux---Jstatd方式

Jstatd監控方式,缺陷:沒有cpu監控畫面

1、修改jdk配置文件--/usr/local/jdk1.7.0_80/jre/lib/security 下的java.policy文件--------------------具體路徑根據你的服務器路徑來

在文件末位的 }; 前添加
permission java.security.AllPermission;

進入到jdk的bin目錄下啟動jstatd

./jstatd -J-Djava.security.policy=all.policy -p 10003 &

2、驗證監控

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM