2012-11-28 7 views
5

Come è possibile attivare un dump dell'heap per una Java 7 VM in esecuzione su Linux senza avere un JDK installato?Dump dell'heap di avvio di Java 7 senza JDK installato

Nelle versioni precedenti di Java era possibile impostare l'opzione JVM -XX:+HeapDumpOnCtrlBreak e quindi attivare un dump dell'heap utilizzando kill -QUIT <pid>. Non sono stato in grado di farlo funzionare con Java 7. Esiste un equivalente a questo senza aver bisogno del JDK installato per ottenere JVisualVM o jmap.

+0

Does '-XX: + HeapDumpOnOutOfMemoryError' funziona per te? http://www.oracle.com/technetwork/java/javase/clopts-139448.html#gbzrr – reprogrammer

+0

Per quanto ne so, funziona ancora (e ce l'abbiamo configurato). In realtà non stiamo arrivando al punto di esaurire la memoria prima che la nostra applicazione si comporti in modo anomalo. Pertanto vorremmo essere in grado di attivare il dump dell'heap su richiesta per l'analisi. – Michael

+0

Viene visualizzato il messaggio di errore 'Opzione VM non riconosciuta 'HeapDumpOnCtrlBreak''? – reprogrammer

risposta

0

L'opzione VM -XX:+HeapDumpOnCtrlBreak non è più elencata in http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html. Quindi, concludo che non è più supportato.

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

opzioni specificate con -XX non sono stabili e sono soggetti a cambiamenti senza preavviso .

+0

Sì, sicuramente non è supportato più abbiamo avuto un errore nel tentativo di specificarlo. Speravo ci fosse un modo simile per ottenere una discarica di heap al posto di esso. – Michael