Ну, это неловко ...Расположение файла кучи дампа Java при использовании jconsole?
Я начинаю играть с анализатором памяти Eclipse, чтобы искать утечки памяти Java в окне Windows. Шаг 1 - получить файл дампа кучи. Для этого я запускаю свой Java (javaw.exe) процесс из Eclipse и подключаюсь к нему с помощью jconsole. Затем на вкладке MBeans jconsole нажмите кнопку dumpHeap. В первый раз, когда я это сделал, я увидел всплывающее сообщение о том, что он создал файл дампа кучи, но не дал его имени или местоположения. Теперь всякий раз, когда я делаю dumpHeap снова при подключении к другому процессу javaw.exe, JConsole говорит:
Problem invoking dumpHeap : java.io.IOException: File exists
и, конечно, не дает его имя или путь. Где это может быть?
Я искал свой диск C: (используя инструменты командной строки cygwin) для файлов, содержащих «hprof» или «java_pid» или «heapdump», и не нашел ничего правдоподобного. Я даже использовал поиск Windows для поиска всех файлов в рабочей области Eclipse, которые были изменены в последний день.
Я использую JVM Sun Java 1.6 и не имею -XX: набор HeapDumpPath.
Обновление (28 апреля 2010 г.): Мое первоначальное местоположение файла кучи должно быть определено jconsole, инструмент, с которого я запускал кучу кучи. Местоположение дампа кучи JVM должно применяться только к дампам кучи, которые он запускает (например, в OutOfMemoryException).
Предложение Мэтта использовать jvisualvm прекрасно решает мою проблему, указывая мне на гораздо более полезную замену старой jconsole. У этого есть хороший профилировщик памяти, который показывает, какие типы объектов являются самыми многочисленными и хранят большую часть памяти. И у этого есть монитор, который показывает фактическое использование памяти с течением времени. Когда вы спросите его о дампе кучи, он сообщает вам имя файла даже! Анализатор памяти Eclipse дает вам полную информацию.
попробуйте jvisualvm, у него есть намного лучший интерфейс –
IDE действительно полезны, пока они не будут –
@matt b: Вы абсолютно правы, и это даже говорит мне, что имя файла после кучи дампа! C: \ DOCUME ~ 1 \ ferrans \ LOCALS ~ 1 \ Temp \ visualvm.dat \ localhost-4180 \ heapdump-1272470561431.hprof Добавьте это как ответ, и я его приму. –