Анализатор памяти 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.