Анализатор памяти Eclipse - ошибка при попытке получить дамп кучи - PullRequest
0 голосов
/ 18 мая 2011

Я пытаюсь получить дамп кучи с помощью 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 Ответ

2 голосов
/ 19 мая 2011

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

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

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