我使用-Xms256m
and -Xmx256m
JVM options将初始和最大Java堆大小设置为256MB。 GC日志(使用-XX:+PrintHeapAtGC
)指出堆大小为251904K
(246MB),即smaller than the minimum heap size, -Xms256m
(请参见日志的最后一行)。但是,这是因为the stated heap size is the available heap size,其中不包括the unavailablefrom space。堆大小大于-Xmx
当我手动包括从空间存储器不可用的,派生堆大小是262656K
(256.5MB),这是比最大堆大小略微越大,-Xmx
(由512KB):
[heap size] = [eden space size] + [from space size] + [to space size] + [OldGen size]
262656K = 66048K + 10752K + 10752K + 175104K
为什么堆大小略大于最大堆大小-Xmx
?