2015-06-10 4 views
0

, когда я смотрю на потребление памяти моего Java приложение, которое я expierience странное поведение:Знать, какие объекты получили мусора

Приложение выделяет 500 МБ в ~ 10 минут, а затем сборщик мусора освобождает 500 МБ. Затем 500 МБ распределяются и освобождаются снова и снова и снова.

В приложении нет пользователей - приложение находится в режиме ожидания.

Можете ли вы дать мне подсказку, как определить, почему приложение выделяет 500 МБ?

Благодаря

+0

Просьба предоставить более подробную информацию о вашем приложении. –

+0

Могу ли я как-нибудь увидеть, какие объекты получили GCd? – matthias

+0

@matthias нет инструмента для получения информации о собранных объектах. Вы можете видеть память до и после сбора и анализировать разницу. – AdamSkywalker

ответ

3

Вы можете использовать JVisualVM из вашей JDK для анализа использования памяти.

Вы должны открыть приложение и взять дамп памяти, вы увидите, сколько памяти выделено разными классами. Он может указывать на правильные направления.

0

Это приложение на стороне сервера или на стороне клиента.

Вы можете взять свалку памяти и заглянуть внутрь. В зависимости от ОС инструменты могут очень.

Альтернативой будет использование JProfiler.

Смежные вопросы