JVM內存監控主要在穩定性壓測期間,監控應用服務器內存泄露等問題;java
一、打開WAS控制檯:https://ip:port/ibm/console/login.do服務器
二、進入路徑:應用程序服務器 > Server_Name > 進程定義> Java 虛擬機工具
三、在通用JVM參數中開啓遠程訪問,並設置遠程訪問端口爲1099ui
-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099線程
四、重啓應用3d
JDK1.6開始自帶的VisualVM就是不錯的監控工具。blog
這個工具就在JAVA_HOME\bin\目錄下的jvisualvm.exe, 雙擊這個文件就能看到一個比較直觀的界面進程
遠程訪問JVMip
一、右鍵點擊【遠程】,選擇添加遠程主機內存
二、輸入遠程主機名,此處輸入遠程主機的IP地址後,點擊肯定。
三、右鍵IP地址,點擊添加JMI鏈接
四、輸入監控端口,本次設置開啓的端口爲1099,亦可設置其它不被佔用的端口。
五、雙擊ip:port後,便可打開JVM的總體監控頁面
JVM監控
可查看堆空間大小分配(年輕代、年老代、持久代分配)
提供即時的垃圾回收功能
垃圾監控(長時間監控回收狀況)
1,抓取Thread Dump
方法1:右鍵 ip:port後,選擇【線程Dump】
方法2:在線程tab頁中,右上角有個線程Dump按鈕
2,分析Thread Dump
locked表示該線程鎖住了該鎖
圖中的0X10032710和0X10032718互相等待,互相鎖死