Sono in esecuzione carico su Tomcat 6 in esecuzione su Java 6. Desidero raccogliere un heapdump dell'heap Java mentre il server Tomcat è sotto carico. Di solito uso jmap -dump per raccogliere i miei heapdump.Raccolta del heapdump Java sotto carico
Tuttavia, quando provo a farlo quando Tomcat gestisce un carico elevato, scopro che la raccolta di heapdump non riesce.
jmap è lo strumento migliore per la raccolta di un dump dell'heap da un processo sotto carico? Quali sono le possibili cause che potrebbero impedire a jmap di raccogliere un heapdump?
Se jmap non è lo strumento migliore, cosa è meglio?
È del tutto accettabile per me jmap (o qualche altro strumento) per arrestare il mondo all'interno del processo Java mentre viene eseguito il dump dell'heap.
Hai provato a collegare VisualVM alla VM e creare un HeapDump utilizzando quello? –
Questo non è l'ideale per me dato che Tomcat è in esecuzione su un server Linux remoto. VisualVM include il supporto per i dump dell'heap remoto, ma ciò richiede che una porta JMX sia aperta all'avvio della JVM. – mchr
http://stackoverflow.com/questions/20235802/ways-how-to-get-heap-dump-from-running-tomcat-7 ha risposte più dettagliate. – Vadzim