性能測試之JVM監控

1、工具簡介

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

2、打開JVisualVM

一、打開JVisualVMtomcat

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

 

 

一、顯示頁面以下服務器

 

二、增長遠程監控--選擇遠程--右鍵增長 寫入須要監控的Linux的ip地址便可tcp

 

 

 

方案描述:JVisualVM監控Linux有2種:一、JMX方式  二、Jstatd方式,二者須要結合,本方案不設置安全帳戶密碼進行鏈接,工做中能夠自行增長監控的帳號與密碼工具

 

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

 

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

一、修改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及往下的內容3d

二、在tomcat lib目錄中增長jar包:catalina-jmx-remote.jarcode

三、防火牆開啓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監控畫面

一、修改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 &

二、驗證監控

 

 

相關文章
相關標籤/搜索