Я установил начальный и максимальный размер кучи Java до 256 МБ, используя -Xms256m
and -Xmx256m
JVM options. В журнале GC (с использованием -XX:+PrintHeapAtGC
) указано, что размер кучи составляет 251904K
(246 МБ), который равен smaller than the minimum heap size, -Xms256m
(см. Последнюю строку журнала). Однако это связано с тем, что the stated heap size is the available heap size, который не включает the unavailablefrom space.Размер кучи больше -Xmx
Когда я вручную включить недоступный из пространства памяти, полученный размер кучи 262656K
(256.5MB), который немного больше, чем максимальный размер кучи, -Xmx
(по 512 КБ):
[heap size] = [eden space size] + [from space size] + [to space size] + [OldGen size]
262656K = 66048K + 10752K + 10752K + 175104K
Почему размер кучи немного больше, чем максимальный размер кучи, -Xmx
?