這裏是jmap -heap
命令的輸出:G1垃圾收集器:爲什麼倖存者空間總是滿的?
Survivor Space:
regions = 52
capacity = 54525952 (52.0MB)
used = 54525952 (52.0MB)
free = 0 (0.0MB)
100.0% used
我已經執行了很多次,我發現capacity
值常是等於used
。
我的問題是,爲什麼生存空間常是滿(等小)?我已指定-Xmx2200m -Xms2200m -Xmn1100m
。 (我預計生存空間應該是220M,這意味着應該有幸存者地區更多的空間)
- update--
jheap的完整輸出:
Garbage-First (G1) GC with 2 thread(s)
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 2306867200 (2200.0MB)
NewSize = 1153433600 (1100.0MB)
MaxNewSize = 1153433600 (1100.0MB)
OldSize = 4194304 (4.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 16777216 (16.0MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 4294963200 (4095.99609375MB)
G1HeapRegionSize = 1048576 (1.0MB)
Heap Usage:
G1 Heap:
regions = 14488
capacity = 15191769088 (14488.0MB)
used = 1083703304 (1033.5000076293945MB)
free = 14108065784 (13454.499992370605MB)
7.13348983730946% used
G1 Young Generation:
Eden Space:
regions = 988
capacity = 1163919360 (1110.0MB)
used = 1035993088 (988.0MB)
free = 127926272 (122.0MB)
89.009009009009% used
Survivor Space:
regions = 45
capacity = 47185920 (45.0MB)
used = 47185920 (45.0MB)
free = 0 (0.0MB)
100.0% used
G1 Old Generation:
regions = 2
capacity = 1095761920 (1045.0MB)
used = 524296 (0.5000076293945312MB)
free = 1095237624 (1044.4999923706055MB)
0.04784762003775419% used
30424 interned Strings occupying 3027304 bytes.
Hey Neo,你會介意輸出剩餘的jmap輸出嗎? – entpnerd
@JonathanThoms當然 – Neo