При анализе кучи Java с помощью jmap, как я должен интерпретировать пустые места выживших? - PullRequest
1 голос
/ 01 ноября 2011

Я изучаю, почему мое Java-приложение постоянно находится в состоянии Full GC.На мой взгляд, пространство Старого Поколения не должно заполняться, но оно постоянно увеличивается.В Руководстве по настройке Oracle GC я наткнулся на предложение

Если оставшиеся в живых пространства слишком малы, копирование коллекции переполняется непосредственно в поколение с правами владения.

поэтому я хотел посмотреть, что они делают, и они оба пусты (используется 0 байтов).Я не уверен, как это читать.В какое время мне следует ожидать там данных?Как я узнаю, что они «перетекают в штатное поколение»?Что делать, если места недостаточно?

1 Ответ

0 голосов
/ 07 ноября 2011

Пространства выживших недостаточно велики, чтобы удерживать объекты, перемещенные из пространства Эдема на частичном ГХ. Их увеличение может привести к менее частому полному ГХ. Попробуйте разные значения для:

-XX:SurvivorRatio=16

16 - это значение по умолчанию для WebSphere, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...