1. 程式人生 > 其它 >一次GC優化

一次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