У меня есть огромный файл дампа кучи Java. Он также содержит (я считаю) недостижимые объекты, которые будут мусором, собранным JVM (или, как вы надеетесь).Могу ли я запустить сборку мусора Java против файла дампа кучи?
Есть ли инструмент, который позволяет запускать сборщик мусора против этого файла, так что я могу
- избавиться от ненужных данных
- верифицировать/симулировать сбор мусора с различными алгоритмами, чтобы увидеть, как хорошо они работают
- идентифицировать проблемы сбора мусора
может удалить недостижимые объекты, но на основе по моему опыту, он не удаляет объекты, которые достижимы только с помощью мягкой/слабой ссылки (которые, по определению, имеют право на gc). К сожалению, это иногда делает анализ кучи с MAT трудным, так как много объектов, которые должны быть gc'able, все еще отображаются в дампе кучи. Я хотел бы иметь инструмент, который может gc файл дампа кучи, принимая во внимание мягкие/слабые ссылки. – JimN