Анализатор памяти Eclipse - ошибка при попытке получить дамп кучи

Я пытаюсь получить дамп кучи с помощью Eclipse Memory Analyzer Tool (MAT). У меня работает сервер приложений Weblogic 10.3. Это ОС Windows XP с установленной 32-битной Java. Когда я пытаюсь получить дамп кучи с помощью MAT для процесса, который выполняет Weblogic, я получаю следующую ошибку:

Error creating heap dump. jmap exit code = 1
Exception in thread "main" java.io.IOException: Premature EOF
    at sun.tools.attach.HotSpotVirtualMachine.readInt(HotSpotVirtualMachine.java:226)
    at sun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java:88)
    at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:195)
    at sun.tools.attach.HotSpotVirtualMachine.dumpHeap(HotSpotVirtualMachine.java:162)
    at sun.tools.jmap.JMap.dump(JMap.java:224)
    at sun.tools.jmap.JMap.main(JMap.java:122)

Error creating heap dump. jmap exit code = 1
Exception in thread "main" java.io.IOException: Premature EOF
    at sun.tools.attach.HotSpotVirtualMachine.readInt(HotSpotVirtualMachine.java:226)
    at sun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java:88)
    at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:195)
    at sun.tools.attach.HotSpotVirtualMachine.dumpHeap(HotSpotVirtualMachine.java:162)
    at sun.tools.jmap.JMap.dump(JMap.java:224)
    at sun.tools.jmap.JMap.main(JMap.java:122)

Любая помощь приветствуется.

Спасибо Сид

1 ответ

Одна вещь, которую вы можете попробовать использовать jmap чтобы сохранить дамп и открыть его в MAT.

использование jps чтобы получить идентификатор процесса (pid).

jmap -dump:live,format=b,file=myfile.hprof <processid-from-above>

I met the same problem on Windows, I solved by open cmd.exe as Administrator.

Другие вопросы по тегам