一次GC優化
#系統支援的最大執行緒數
sheq01:/proc/13799/task/15376 # cat /proc/sys/kernel/threads-max
63724
#系統支援的最大程序數
sheq01:/proc/13799/task/15376 # cat /proc/sys/kernel/pid_max
32768
#執行緒數檢視
sheq01:~ # ls /proc/13799/task | wc -l
167
sheq01:~ # ps -hH 13799 | wc -l
167
#gc跟蹤
sheq01:~ # jstat -gc 20622 5000
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
26176.0 26176.0 0.0 18883.4 209792.0 45574.5 786432.0 53939.1 73472.0 70487.9 9472.0 8884.1 47 2.813 0 0.000 2.813
26176.0 26176.0 0.0 18883.4 209792.0 45574.5 786432.0 53939.1 73472.0 70487.9 9472.0 8884.1 47 2.813 0 0.000 2.813
返回說明
S0C:第一個倖存區的大小
S1C:第二個倖存區的大小
S0U:第一個倖存區的使用大小
S1U:第二個倖存區的使用大小
EC:伊甸園區的大小
EU:伊甸園區的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法區大小
MU:方法區使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
YGC:年輕代垃圾回收次數
YGCT:年輕代垃圾回收消耗時間
FGC:老年代垃圾回收次數
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間
================================壓測=====================
#監控執行緒數量
結論:已經降到正常水平
#檢視gc狀態
結論: fullgc異常,ygc已平穩
#記憶體物件檢視
jmap -histo:live 20622 | heap –n 20
結論:記憶體突增900M+
#檢視堆記憶體情況
sheq01:~ # jmap -heap 20622
Attaching to process ID 20622, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.71-b15
using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 1073741824 (1024.0MB)
NewSize = 268435456 (256.0MB)
MaxNewSize = 268435456 (256.0MB)
OldSize = 805306368 (768.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 134217728 (128.0MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 134217728 (128.0MB)
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 241631232 (230.4375MB)
used = 235730800 (224.81040954589844MB)
free = 5900432 (5.6270904541015625MB)
97.55808388213656% used
Eden Space:
capacity = 214827008 (204.875MB)
used = 214827008 (204.875MB)
free = 0 (0.0MB)
100.0% used
From Space:
capacity = 26804224 (25.5625MB)
used = 20903792 (19.935409545898438MB)
free = 5900432 (5.6270904541015625MB)
77.98693220889365% used
To Space:
capacity = 26804224 (25.5625MB)
used = 0 (0.0MB)
free = 26804224 (25.5625MB)
0.0% used
concurrent mark-sweep generation:
capacity = 805306368 (768.0MB)
used = 801056976 (763.9474639892578MB)
free = 4249392 (4.0525360107421875MB)
99.47232604026794% used
33029 interned Strings occupying 3982712 bytes.
#檢視記憶體中的物件情況
jmap -histo:live 20622