Wie kann ich neu starten JVM mit OutOfMemoryError _after_ machen einen heap dump?

Weiß ich über die -XX:+HeapDumpOnOutOfMemoryError JVM-parameter. Ich weiß auch um -XX:OnOutOfMemoryError="cmd args;cmd args" und dass kill -3 <JVM_PID> fordern einen heap-dump.

Frage: Wie kann ich sicherstellen, dass ich auf OutOfMemoryError, machen Sie zuerst einen vollständigen Heapdump und dann einen Neustart zu erzwingen (oder töten) nach der dump fertig ist? Ist meine beste Wette -XX:OnOutOfMemoryError="kill -3 %p;sleep <time-it-takes-to-dump>;kill -9 %p"?

  • Wäre es nicht besser, überwachen den Prozess aus, ohne die jvm, und starten Sie ihn entsprechend, z.B. unix-Skript, monitorying system? wenn die jvm aus der Erinnerung ich würde mich nicht darauf verlassen, dass es in der Lage sein, um zuverlässig starten Sie einen Befehl, um sich selbst neu starten
InformationsquelleAutor Ztyx | 2015-05-29
Schreibe einen Kommentar