1. 程式人生 > >JVM:JVM調優-工具學習

JVM:JVM調優-工具學習

jconsole

Jdk自帶的,可用檢視jvm執行時的各種狀態動態資料,例:堆記憶體、執行緒數、類載入解除安裝數、CPU佔用率等,還可以檢測死鎖。
可以通過jconsole查詢本地jvm程序獲取遠端jvm程序,注意要檢視遠端的jvm程序需要在遠端tomcat啟動指令碼中新增以下程式碼:

 -Dcom.sun.management.jmxremote.port=6969  
 -Dcom.sun.management.jmxremote.ssl=false  
 -Dcom.sun.management.jmxremote.authenticate=false

連線成功可以展示以下東西:
在這裡插入圖片描述


概覽面板可以檢視記憶體執行緒數、類載入解除安裝數、以及CPU佔有率的走勢。
可以點選記憶體、執行緒、類頁籤詳細檢視,其實記憶體頁,可以檢視記憶體各個部分的詳細資訊,還可以通過右上角執行GC按鈕來檢視GC前後記憶體的對比
在這裡插入圖片描述
在這裡插入圖片描述

還可以線上程頁籤,點選檢測死鎖來檢視正在互相等待中的死鎖執行緒
在這裡插入圖片描述

visualVM

jdk自帶的,可以用來分析dump出來的堆疊檔案。
在這裡插入圖片描述
匯入需要分析的堆疊檔案
在這裡插入圖片描述
通過概要頁籤可以看到OOM的位置
在這裡插入圖片描述
通過類頁籤可以判斷記憶體洩露的是哪些物件。
在這裡插入圖片描述
還可以看到記憶體洩露的位置