/ / Analizza l'applicazione web Thread Dump fow - java, multithreading, tomcat, quarzo-scheduler

Analizza l'applicazione web Thread Dump fow - java, multithreading, tomcat, quarzo-scheduler

Ciao ho preso il dump thread per il mio webapplicazione che sta dando sempre più memoria usando JSTACK ma sono un po 'confuso sul modo in cui trovare il thread colpevole corretto può dare alcuni suggerimenti su come analizzare il file dump.

risposte:

0 per risposta № 1

Usa VisualVM che è incluso con JDK.


0 per risposta № 2

Quando hai un OutOfMemoryError, il primo passo è leggere il messaggio associato. Spiega la causa dell'errore: heap, perm, thread, ...

A seconda della causa, è necessario controllare ilconfigurazione dello spazio: -Xms e -Xmx per l'heap, -XX: PermSize e -XX: MaxPermSize per perm (Java 7-), -XX: MaxMetaspaceSize per metaspace (Java 8 +), ... La configurazione potrebbe essere troppo basso per le tue necessità.

Dopo, usa gli strumenti per capire comela memoria è consumata. VisualVM è ottimo, fornisce metriche sulla memoria, ti aiuta a fare il dump dell'heap o a profilare la memoria (non in produzione). È possibile aggiungere l'opzione -XX: + HeapDumpOnOutOfMemoryError nello script di avvio in modo che il dump dell'heap venga generato automaticamente quando si esegue un OutOfMemoryError.

Se si hanno perdite di memoria, suggerisco di utilizzare strumenti di profilazione più avanzati (e non gratuiti) come JProfiler o YourKit.