0

I am trying to acquire heap dump using the Eclipse Memory Analyzer Tool (MAT). I have Weblogic 10.3 app server running. It's a windows XP OS with 32 bit Java installed. When I try to acquire heap dump using MAT for the process that's running Weblogic, I am getting the following error:

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)

Any help is appreciated.

Thanks, Sid

4

2 回答 2

2

您可以尝试的一件事是使用jmap保存转储并在 MAT 中打开它。

用于jps获取进程 ID (pid)。

jmap -dump:live,format=b,file=myfile.hprof <processid-from-above>
于 2011-05-18T20:17:03.603 回答
1

我在 Windows 上遇到了同样的问题,我通过cmd.exe以管理员身份打开解决了。

于 2020-07-30T07:17:06.590 回答