1. 程式人生 > 其它 >如何檢視JVM中堆、棧記憶體使用情況

如何檢視JVM中堆、棧記憶體使用情況

首先使用 jps命令 檢視配置了jvm的服務
然後 jstat -gc 71614 5000
jstat -gc 程序號 重新整理時間 來進行檢視
S0C:年輕代中第一個survivor(倖存區)的容量 (位元組)

S1C:年輕代中第二個survivor(倖存區)的容量 (位元組)
S0U :年輕代中第一個survivor(倖存區)目前已使用空間 (位元組)
S1U :年輕代中第二個survivor(倖存區)目前已使用空間 (位元組)
EC :年輕代中Eden(伊甸園)的容量 (位元組)
EU :年輕代中Eden(伊甸園)目前已使用空間 (位元組)
OC :Old代的容量 (位元組)
OU :Old代目前已使用空間 (位元組)
MC:metaspace(元空間)的容量 (位元組)
MU:metaspace(元空間)目前已使用空間 (位元組)
YGC :從應用程式啟動到取樣時年輕代中gc次數
YGCT :從應用程式啟動到取樣時年輕代中gc所用時間(s)
FGC :從應用程式啟動到取樣時old代(全gc)gc次數
FGCT :從應用程式啟動到取樣時old代(全gc)gc所用時間(s)
GCT:從應用程式啟動到取樣時gc用的總時間(s)

檢視堆記憶體

jmap -heap 71614
jmap -heap 程序號
Heap Configuration: #堆配置情況
MinHeapFreeRatio = 40 #堆最小使用比例
MaxHeapFreeRatio = 70 #堆最大使用比例
MaxHeapSize = 8589934592 (8192.0MB) #堆最大空間
NewSize = 1363144 (1.2999954223632812MB) #新生代初始化大小
MaxNewSize = 5152702464 (4914.0MB) #新生代可使用最大容量大小
OldSize = 5452592 (5.1999969482421875MB) #老生代大小
NewRatio = 2 #新生代比例
SurvivorRatio = 8 #新生代與suvivor的佔比
MetaspaceSize = 21807104 (20.796875MB) #元資料空間初始大小
CompressedClassSpaceSize = 1073741824 (1024.0MB) #類指標壓縮空間大小, 預設為1G
MaxMetaspaceSize = 17592186044415 MB #元資料空間的最大值, 超過此值就會觸發 GC溢位( JVM會動態地改變此值)
G1HeapRegionSize = 2097152 (2.0MB) #區塊的大小

Heap Usage:
G1 Heap:
regions = 4096 # G1區塊初始化大小
capacity = 8589934592 (8192.0MB) #G1區塊最大可使用大小
used = 1557972768 (1485.7986145019531MB) #G1區塊已使用記憶體
free = 7031961824 (6706.201385498047MB) #G1區塊空閒記憶體
18.137190118432045% used #G1區塊使用比例
G1 Young Generation: #新生代
Eden Space: #Eden區空間
regions = 670
capacity = 2699034624 (2574.0MB)
used = 1405091840 (1340.0MB)
free = 1293942784 (1234.0MB)
52.05905205905206% used
Survivor Space: #Survivor區
regions = 3
capacity = 6291456 (6.0MB)
used = 6291456 (6.0MB)
free = 0 (0.0MB)
100.0% used
G1 Old Generation: #老生代
regions = 72
capacity = 1589641216 (1516.0MB)
used = 146589472 (139.79861450195312MB)
free = 1443051744 (1376.2013854980469MB)
9.221544492213267% used


Light up the dark.❤️