Анализ объектов, созданных приложением Java между GC - PullRequest
4 голосов
/ 25 мая 2010

Существует ли инструмент, который можно использовать для анализа создаваемых объектов между двумя отдельными циклами сбора мусора (= количество созданных объектов и их тип)?

Heapdumps здесь не работают, поскольку они выполняют GC, когда они вызываются (или, по крайней мере, это то, что я наблюдал до сих пор), и я хочу увидеть, какие объекты собираются GC, а не какие объекты остаются после GC запустить, если это имеет смысл.

Ответы [ 2 ]

2 голосов
/ 25 мая 2010

Во-первых, когда вы всегда наблюдаете полную сборку мусора перед каждым сбросом кучи, вы, вероятно, называете это так:

jmap -histo:live $PID

Если это так, просто пропустите :live, который подавит явную сборку мусора.

Кроме того, Sun JVM знает следующие параметры командной строки:

-XX:+PrintClassHistogramBeforeFullGC -XX:+PrintClassHistogramAfterFullGC

Это должно быть почти то, что вы хотите.

0 голосов
/ 26 мая 2010

Если вам необходимо узнать, какие объекты собираются GC, может помочь 'Гистограмма недоступных объектов' из Eclipse Memory Analyzer.

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