2012-11-28 6 views
5

Wie kann ich einen Heap-Dump für eine Java 7-VM unter Linux auslösen, ohne ein JDK installiert zu haben?Java 7-Trigger-Heap-Dump ohne JDK installiert

In früheren Java-Versionen war es möglich, die -XX:+HeapDumpOnCtrlBreak JVM-Option festzulegen und dann einen Heapspeicherauszug unter Verwendung von kill -QUIT <pid> auszulösen. Ich konnte es nicht mit Java 7 arbeiten lassen. Gibt es eine Entsprechung dazu, ohne das JDK installiert zu haben, um JVisualVM oder jmap zu bekommen.

+0

Funktioniert '-XX: + HeapDumpOnOutOfMemoryError' für Sie? http://www.oracle.com/technetwork/java/javase/clopts-139448.html#gbzrr – reprogrammer

+0

Soweit ich weiß, funktioniert das immer noch (und wir haben es konfiguriert). Wir kommen nicht wirklich zu dem Punkt, dass wir nicht mehr genügend Speicher haben, bevor unsere Anwendung sich schlecht benimmt. Daher möchten wir in der Lage sein, den Heap-Dump bei Bedarf zur Analyse auszulösen. – Michael

+0

Erhalten Sie die Fehlermeldung 'Unrecognized VM-Option 'HeapDumpOnCtrlBreak''? – reprogrammer

Antwort

0

VM-Option -XX:+HeapDumpOnCtrlBreak ist nicht mehr unter http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html aufgeführt. Also folge ich, dass es nicht mehr unterstützt wird.

Von http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html:

Optionen, die mit -XX angegeben werden, sind nicht stabil und unterliegen Änderungen vorbehalten.

+0

Ja, es wird definitiv nicht mehr unterstützt, wir haben einen Fehler beim Versuch, es zu spezifizieren. Ich hatte gehofft, dass es einen ähnlichen Weg gäbe, um stattdessen einen Haldenspeicher zu schaffen. – Michael