Garbage Collector First und JMap EOF-Fehler

Wir überarbeiten den Produktionsserver-Heap unseres Kunden, um Speicherlecks zu erkennen und zu beheben. Dazu verwenden wir regelmäßig jmap, um die notwendigen Informationen zu sammeln.

Aber letzte Woche konnten wir den Dump nicht ausführen, da er einen EOF-Fehler auslöste und die Tomcat-Instanz herunterfuhr.

Ich habe im Internet gesucht, aber keine konkreten Informationen zu diesem Fehler gefunden. Wir haben festgestellt, dass es nur bei der Verwendung der auftrittGc First Garbage Collector-Algorithmus.

Dies ist die Befehlszeile, mit der wir die jmap ausgeführt haben:

jmap -dump:format=b,file=heap.bin <PID>

Java-Version auf dem Server: JDK 1.7.0_7 x64

Hat jemand diese Art von Fehler bereits konfrontiert? Möglicherweise fehlt eine Konfiguration oder ein Patch für Java / Jmap ist erforderlich.

AKTUALISIEREN

Einige weitere Informationen, die wir zu diesem Fehler gesammelt haben:

[root]# jmap -dump:format=b,file=heap.bin 7806
    Dumping heap to /tmp/heap.bin ...
    Exception in thread "main" java.io.IOException: Premature EOF
        at sun.tools.attach.HotSpotVirtualMachine.readInt(HotSpotVirtualMachine.java:244)
        at sun.tools.attach.LinuxVirtualMachine.execute(LinuxVirtualMachine.java:193)
        at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:213)
        at sun.tools.attach.HotSpotVirtualMachine.dumpHeap(HotSpotVirtualMachine.java:180)
        at sun.tools.jmap.JMap.dump(JMap.java:241)
        at sun.tools.jmap.JMap.main(JMap.java:140)
[root]#

Hinweis: Das Zielverzeichnis verfügt über mehr als 500 GB freien Speicherplatz

An catalina.out ausgegebener Fehler (JVM-Dump-Fehler):

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f0269cc41c6, pid=7806, tid=139647231129360
#
# JRE version: Java(TM) SE Runtime Environment (7.0_40-b43) (build 1.7.0_40-b43)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.0-b56 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x58c1c6]  DumperSupport::dump_field_value(DumpWriter*, char, unsigned char*)+0x1c6
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /opt/tomcat6/bin/hs_err_pid7806.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp

Antworten auf die Frage(1)

Ihre Antwort auf die Frage