linux上查看jvm GC詳情並獲取jvm當前dump文件

linux上查看jvm GC情況

通過命令行:jstat -gc [pid] [刷新頻率ms]
其中pid爲要查看的java進程的id,刷新頻率爲每個多少毫秒刷新一次GC情況。顯示內如如下圖:
在這裏插入圖片描述
上圖中是查看進程id爲12711的Java項目,每隔1秒即1000毫秒刷新一次。
參數說明:
1、S0C 和 S1C:Survivor(倖存區) 0/1區的容量(單位爲KB);
2、S0U 和 S1U:Survivor(倖存區) 0/1區目前已使用的空間(單位爲KB);
3、EC:年輕代中Eden(伊甸園)的容量(單位爲KB);
4、EU:年輕代中Eden(伊甸園)目前已使用空間(單位爲KB);
5、OC:年老代的容量(單位爲KB);
6、OU:年老代目前已使用的空間(單位爲KB);
7、MC:元空間(方法區)的容量(單位爲KB);
8、MU:元空間(方法區)目前已使用空間(單位爲KB);
9、CCSC:壓縮類空間的容量(單位爲KB);
10、CCSU:壓縮類空間目前已使用空間大小(單位爲KB);
11、YGC:年輕代垃圾回收次數;
12、YGCT:年輕代垃圾回收消耗時間(單位爲秒);
13、FGC:年老代垃圾回收次數;
14、FGCT:年老代垃圾回收消耗時間(單位爲秒);
15、GCT:垃圾回收消耗總時間(單位爲秒)。

linux獲取jvm當前dump文件

命令行爲:jmap -dump:file=[文件名] [pid]
然後等待生成dump文件,生成的dump文件就在當前目錄下。如下圖:
在這裏插入圖片描述
然後就可以下載到本地,用本地jdk裏自帶的jvisualvm來解析文件。
在用本地的jvisualvm解析之前,先雙擊打開jvisualvm.exe,然後點擊【工具】,選擇【插件】,安裝所需插件,如下圖:
在這裏插入圖片描述
然後在可用插件裏找到Visual GC插件,進行安裝,如下圖(這裏我事先已經安裝好了):
在這裏插入圖片描述
安裝完後,重新打開jvisualvm.exe,然後點擊左上角的【文件】,選擇【裝入】,裝入剛纔下載到本地的dump文件,這裏的裝入類型選擇【堆 Dump】類型,如下圖所示:
在這裏插入圖片描述
然後就可以來分析dump文件了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章