Java-Heap-Dump-Fehler mit dem Befehl jmap: Vorzeitiges EOF

Ich bin auf die folgende Ausnahme gestoßen, als der folgende Befehl ausgeführt wurde

jmap -dump:format=b,file=heap_dump.bin <process_id>

Ausgabe

Dumping heap to <file_name>
Exception in thread "main" java.io.IOException: Premature EOF
            at sun.tools.attach.HotSpotVirtualMachine.readInt(HotSpotVirtualMachine.java:248)
            at sun.tools.attach.LinuxVirtualMachine.execute(LinuxVirtualMachine.java:199)
            at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:217)
            at sun.tools.attach.HotSpotVirtualMachine.dumpHeap(HotSpotVirtualMachine.java:180)
            at sun.tools.jmap.JMap.dump(JMap.java:242)
            at sun.tools.jmap.JMap.main(JMap.java:140)

JDK Version: 1.7.0_45

VM_OPTs:

-Xms2g -Xmx4g  -XX:+UseG1GC -XX:MaxGCPauseMillis=1500 
-XX:G1HeapRegionSize=2 -XX:+PrintFlagsFinal -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 

Hardware: RHEL 5.x, 4-Kern-CPU-Linux-Maschine 6 GB RAM

Als Oracle Bug Report-Datenbank http: //bugs.java.com/bugdatabase/view_bug.do? bug_id = 6882554), dieses Problem wurde behoben, aber ich erhalte immer noch die jdk 1.7-Version mit Build-Nr .: 45

Können Sie eine andere Lösung als ein Upgrade auf Jdk 1.8 vorschlagen, was in meinem Fall aufgrund anderer Abhängigkeiten nicht möglich ist?

BEARBEITEN

Ich habe es mit dem folgenden Befehl versucht und dieser Befehl funktioniert auch nicht generated partial dump file) und zeigt dasselbe vorzeitige EOF.

jmap -J-d64 -dump:format=b,file=<filename> <pid>

Ich habe den Befehl mit dem Benutzer ausgelöst, der den Prozess gestartet hat. Dieser Benutzer hatte Schreibrechte für das Verzeichnis. Die Datei wurde generiert, war aber unvollständig.

9 MB Datei wurde geschrieben für 2 GB Heap, der nicht für die Analyse verwendet werden kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage