Как я могу использовать Eclipse Memory Analyzer Tool для вывода кучи из запущенного процесса?

Я создал простое консольное приложение, которое запускаю из Eclipse (щелкнув файл правой кнопкой мыши и выбрав «Запустить как Java-приложение»). Я запускаю диалог, нажимаю «Обновить», и в списке нет локальных процессов.

Я проверил журнал ошибок Eclipse, и он сообщает только о проблемах со списком процессов IBM VM (HPROF настроен и работает нормально).

Что я делаю неправильно?


person Jeff Axelrod    schedule 24.07.2012    source источник


Ответы (2)


Почему бы не создать дамп кучи из кода вашей программы?

https://blogs.oracle.com/sundararajan/entry/programmatically_dumping_heap_from_java

Или, когда это столкнется с проблемами безопасности, отсюда: создайте дамп кучи из приложения , без HotSpotDiagnosticMXBean

Я использовал это, чтобы получить дамп кучи после фиксированного количества итераций в моих тестах JUnit, все, что осталось сделать, это открыть дампы в Eclipse MAT и найти причину утечки памяти :-(

person maarten    schedule 19.12.2012

Я столкнулся с той же проблемой, и после поиска в Google я нашел это решение.

Укажите путь jdk в «Получить дамп головы» -> «Настроить…» -> Выберите «Поставщик дампа JMAP HPROF» -> «-jdkhome» -> конкретный путь jdk, по умолчанию он должен быть «C:\Program Files\Java». \jdk1.8.0_102" или ваше местоположение jdk.

Я надеюсь, что это работает для вас.

person Jugal Panchal    schedule 16.03.2017