Ho un processo Java che agisce in modo dubbioso. Mi piacerebbe vedere cosa succede usando i vari strumenti di analisi HPROF.Posso generare un file HPROF a piacimento?
Come si genera uno al volo?
Ho un processo Java che agisce in modo dubbioso. Mi piacerebbe vedere cosa succede usando i vari strumenti di analisi HPROF.Posso generare un file HPROF a piacimento?
Come si genera uno al volo?
È necessario avviare il processo Java con the correct arguments, che varia leggermente a seconda della versione di JVM. Quindi, inviare un segnale QUIT
al processo per generare un nuovo file.
L'uscita viene normalmente generata quando la VM esce, sebbene possa essere disabilitata impostando l'opzione "dump on exit" su "n" (doe = n). Inoltre, viene generato un profilo quando si preme Ctrl- \ o Ctrl-Break (a seconda della piattaforma). Su Solaris OS e Linux viene generato anche un profilo quando viene ricevuto un segnale QUIT (kill -QUIT pid). Se Ctrl- \ o Ctrl-Break viene premuto più volte, vengono generati più profili per il singolo file.
VisualVM può aiutarti a capire cosa sta facendo il tuo processo, inclusa la possibilità di forzare arbitrariamente un dump dell'heap su un processo in esecuzione.
Sì. È possibile generare un file hprof (che contiene l'utilizzo di memoria heap) al volo usando lo strumento jmap, fornito con Java VM di Sun:
jmap -dump: file = < nome_file> < pid>
Grazie per la risposta. Inoltre, puoi usare jps per trovare rapidamente il pid del tuo processo Java. –
jconsole ora ha la possibilità di creare un dump nella directory di lavoro corrente dell'app.
non risponde alla domanda. – Ztyx