Wie kann man zuverlässig einen JVM-Core-Dump erstellen, wenn sich die Anwendung im GC befindet?
Ich versuche, die Ursache für Speicherlecks in meiner Java-Anwendung zu finden. Ich brauche einen Heap-Dump für einen Prozess, der sich in a befindetlange GC-Zyklus. Jmap funktioniert in diesem Fall nicht, da die App gehängt ist und der Heap sehr groß ist.
Leider wirft jmap UnknownOopException auf den Core-Dump, den ich erstellt habe. Ich nehme an, dass es nicht richtig ist, während der GC einen Core-Dump durchzuführen. Gibt es eine Möglichkeit, den Java-Prozess an dem Punkt auszusetzen, an dem die Durchführung des Core-Dumps korrekt ist?
Oder liege ich völlig falsch und habe einen defekten Core-Dump aufgrund eines anderen Problems?