
jstat
- 可以檢查
JVM整體的運行情況,可以看到 新生代,老年代等的記憶體使用情況,以及GC次數和耗時 - 命令格式 如
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] - 其中
-option必選引數表示命令引數 如gc等,-t為可選引數表示是否列印時間(秒),-h<lines>可選引數,表示每隔多少行列印頭部串列,如設定-h 5, 那么每五條記錄就會重新列印表頭,vmid必選引數,Java行程id,interval可選引數表示采樣的時間間隔,count可選引數表示需要采樣多少條,

jstat -gc pid
jstat -gc pid這是最常用的語法,可以直接查看記憶體和垃圾回收情況- 首先我們要獲得
Java行程的PID資訊,可以通過jps命令來獲取 - 之后執行
jstat -gc pid即可看到對應Java行程的記憶體情況,如下:

-
這里說明一下關于這些列名的含義:
S0C: 新生代中第一個Survivor(即From區)的容量大小 (千位元組)S1C: 新生代中第二個Survivor(即To區)的容量大小 (千位元組)S0U: 新生代From Survivor區已使用記憶體大小(千位元組)S1U: 新生代To Survivor區一使用記憶體大小(千位元組)EC: 新生代Eden區的容量大小(千位元組)EU: 新生代Eden區已使用記憶體大小(千位元組)OC: 老年代空間容量大小(千位元組)OU: 老年代已使用記憶體大小(千位元組)MC: 方法區的空間大小 (千位元組)MU: 方法區已使用的空間大小(千位元組)YGC: 從系統啟動到現在Young GC/Minor GC的次數YGCT:Young GC總耗時(秒)FGC:從系統啟動到現在Full GC的次數FGCT:Full GC的總耗時(秒)GCT: 垃圾回收總的耗時(秒)NGCMN:年輕代(young)中初始化(最小)的大小 (千位元組)NGCMX:年輕代(young)的最大容量 (千位元組)GC:年輕代(young)中當前的容量 (千位元組)OGCMN:old代中初始化(最小)的大小 (千位元組)OGCMX:old代的最大容量 (千位元組)OGC:old代當前新生成的容量 (千位元組)PGCMN:perm代中初始化(最小)的大小 (千位元組)PGCMX:perm代的最大容量 (千位元組)PGC:perm代當前新生成的容量 (千位元組)S0:年輕代中From survivor(幸存區)已使用的占當前容量百分比S1:年輕代中To Survivor(幸存區)已使用的占當前容量百分比E:年輕代中Eden(伊甸園)已使用的占當前容量百分比O:old代已使用的占當前容量百分比P:perm代已使用的占當前容量百分比S0CMX:年輕代中From survivor(幸存區)的最大容量 (千位元組)S1CMX:年輕代中To Survivor(幸存區)的最大容量 (千位元組)ECMX:年輕代中Eden(伊甸園)的最大容量 (千位元組)DSS:當前需要survivor(幸存區)的容量 (千位元組)(Eden區已滿)TT: 持有次數限制MTT: 最大持有次數限制
jstat -gcutil PID
- 一般我們還可以通過
jstat -gcutil pid來獲取分代年齡的使用情況,顯示為占比,如下,表頭參考上面

jstat -gccapacity PID
-gccapacity命令主要用來分析堆記憶體,用法參考上面,如下效果,表頭含義參看上面

其他一些命令引數
jstat -gcnew PID: 年輕代GC分析,其中TT和MTT可以看到物件在年齡代存活的年齡和存活的最大年齡

jstat -gcnewcapacity PID: 年輕代記憶體分析

jstat -gcold PID: 老年代GC分析

jstat -gcoldcapacity: 老年代記憶體分析

jstat -gcmetacapacity PID: 元資料記憶體分析
jstat -class PID
- 統計行程中加載的類的數量,如下:

- 說明:
Loaded:加載class的數量
Bytes:所占用空間大小
Unloaded:未加載數量
Bytes:未加載占用空間
Time:時間
jstat -compiler PID
- 編譯資訊的統計命令, 如下命令
jstat -class 15372

- 說明:
Compiled:編譯數量,
Failed:失敗數量
Invalid:不可用數量
Time:時間
FailedType:失敗型別
FailedMethod:失敗的方法
jstat -printcompilation PID
JVM編譯方法的統計,如下命令jstat -printcompilation 15372

- 說明:
Compiled:最近編譯方法的數量
Size:最近編譯方法的位元組碼數量
Type:最近編譯方法的編譯型別,
Method:方法名標識,
好了今天就說到這里,
jstat死一個非常還用的工具,需要平時多使用多分析才能真真掌握,下次我們接著說相關的工具的使用~????????
本文由AnonyStar 發布,可轉載但需宣告原文出處,
歡迎關注微信公賬號 :云棲簡碼 獲取更多優質文章
更多文章關注筆者博客 :云棲簡碼 i-code.online
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236912.html
標籤:Java
