Analizzatore di thread IBM Java e monitor dump

Ibm Java Thread Monitor Dump Analyzer



IBM Java Thread and Monitor Dump Analyzer consente di trovare deadlock, possibili thread sospesi e conflitti di risorse tramite il suo motore euristico e l'analisi Javacore.

Scarica: https://public.dhe.ibm.com/software/websphere/appserv/support/tools/jca/jca467.jar



introduzione



Su alcune piattaforme, in alcuni casi, Javacore si chiama `` Javadump ''. Il codice per creare Javacore fa parte della JVM. Puoi controllarlo utilizzando le variabili di ambiente e le opzioni di runtime. Javacore contiene informazioni diagnostiche relative alle applicazioni JVM e Java acquisite a un certo punto del processo di esecuzione. Ad esempio, le informazioni possono essere informazioni sul sistema operativo, l'ambiente dell'applicazione, i thread, lo stack nativo, i blocchi e la memoria. Il contenuto esatto dipende dalla piattaforma su cui stai eseguendo. Per impostazione predefinita, quando la JVM termina in modo imprevisto, apparirà Javacore. Puoi anche attivare Javacore inviando segnali specifici alla JVM. Sebbene Javacore o Javadump esista nella JVM Sun Solaris, molti dei contenuti di Javacore sono prodotti a valore aggiunto di IBM. In altre parole, esiste solo nella JVM IBM.



Fornire il thread IBM Java e monitorare l'analizzatore di dump così com'è.

Posizione dei file Javacore

sistema operativo



Nome file Javacore

Significato del formato

Windows e Linux

javacore.YYYYMMDD.HHMMSS.PID.txt

AAAA = anno, MM = mese, GG = giorno, SS = secondo, PID = ID processo

Aix

javacorePID.TIME.txt

PID = processID, TIME = il numero di secondi dall'1 / 1/1970

prerequisiti

  • Java 2 Runtime Environment 6 o versione successiva

caratteristica

  • Riepilogo Javacore
  • Visualizzazione dettagliata del thread
  • Monitorare la visualizzazione dei dettagli
  • Elenco dei sospetti impiccati
  • Visualizzazione confronto thread
  • Riepilogo del confronto dei fili
  • Monitorare la visualizzazione di confronto dei blocchi
  • Statistiche del Garbage Collector per IBM JVM
  • Visualizzazione delle opzioni
  • Operazione da tastiera
  • Supporto per la configurazione dell'aspetto
  • Suggerimenti sulla configurazione kCluster di IBM Sov JVM.

Come eseguire IBM Thread e Monitor Dump Analyzer per Java

È necessario utilizzare Java 2 Platform Standard Edition versione 6 o successiva Java Runtime Environment (JRE) per eseguire IBM Thread e Monitor Dump Analyzer per Java.

Utilizzo java Xmx [heapsize] jarjca .jar [file javacore separato da delimitatore di percorso] [Analizza file HTML di output]


Il delimitatore di percorso sul sistema Windows è un punto e virgola
Il separatore di percorso sui sistemi Unix è un due punti:

Per esempio,

C : java bin java -Xmx200m -jar jca13.jar

=> Avvia IBM Thread e Monitor Dump Analyzer per Java versione 1.3 e apri il file javacore dal menu.

/ usr / java / bin / java Xmx200m jar /usr/jca/jca13.jar /usr/javacore.20060228.171037.2084.txt/usr/javacore.20060228.171048.2084.txt

=> Usa /usr/javacore.20060228.171037.2084.txt e /usr/javacore.20060228.171048.2084.txt per avviare IBM Thread and Monitor Dump Analyzer Java versione 1.3

java Xmx500m jar jca13.jar /usr/javacore.20060228.171037.2084.txt/usr/javacore.20060228.171048.2084.txt output.html

=> Usa /usr/javacore.20060228.171037.2084.txt e /usr/javacore.20060228.171048.2084.txt per avviare IBM Thread and Monitor Dump Analyzer di Java e generalo in output.html senza chiamare l'interfaccia utente grafica Output di analisi

Se java.lang.OutOfMemoryError si verifica durante l'elaborazione dei file Javacore, provare ad aumentare il valore della dimensione massima dell'heap (-Xmx) per fornire più memoria per la JVM.

A causa di problemi di prestazioni, la dimensione massima dell'heap non dovrebbe essere maggiore della dimensione della memoria fisica disponibile di questo strumento.

1. Avviare IBM Thread e monitorare Dump Analyzer per Java

La schermata seguente è un'istantanea della schermata iniziale.

2. Se il file Javacore non è specificato nella riga di comando durante il processo di avvio, selezionare File-> Apri dump thread per aprire il file Javacore.

3. È possibile selezionare più file Javacore

4. Il file Javacore caricato è elencato nella tabella dell'elenco dei dump dei thread.

L'elenco dei dump dei thread fornisce le seguenti informazioni:

  • Nome: nome del file di Javacore
  • Thread eseguibili / totali: thread eseguibili e totali
  • Heap disponibile / allocato: la quantità di heap Java disponibile e allocato
  • Contatori AF / GC: errore di allocazione e contatori del Garbage Collector
  • Monitor: il numero di monitor bloccati. Se è presente un deadlock nel monitor, verrà visualizzato il deadlock

5. Fare clic su Javacore per visualizzare un riepilogo di Javacore.

Vengono visualizzate le seguenti informazioni su IBM Javacore:

  • nome del file
  • Motivo per il dump del thread
  • Data
  • ID processo
  • Versione Java
  • Informazioni sull'heap Java
    • Dimensione massima dell'heap Java
    • Dimensione heap Java iniziale
    • Contatore raccolta rifiuti
    • Contatore di errori di allocazione
    • Dimensione heap Java gratuita
    • Dimensione heap Java allocata
  • Nome del thread corrente
  • Il numero di classi caricate nell'heap Java
  • Dimensione kCluster consigliata (solo per IBM SDK 1.4.2 e 1.3.1 SR7 o versioni successive)
  • Riga di comando Java

Javacore non IBM (o dump del thread) fornisce informazioni limitate.

6. Fare clic con il pulsante destro del mouse per visualizzare un menu. Oppure fare clic sul menu Analisi per visualizzare il sottomenu.

7. Quanto segue è la 'Visualizzazione dettagli thread' di Javacore:

I thread sono ordinati in base al nome del thread. La visualizzazione dei dettagli del thread fornisce le seguenti informazioni:

  • Nome del thread: nome del thread
  • Stato thread: lo stato del thread, ad esempio, eseguibile, in attesa o sospeso
  • Nome del metodo: il metodo chiamato più di recente o lo stato predefinito o la modalità di traccia dello stack, come IDLE, LISTEN e KEEP-ALIVE
  • Traccia dello stack Java: quando si seleziona un thread, viene visualizzata la traccia dello stack Java.
  • Traccia dello stack nativo: la traccia dello stack nativa viene visualizzata sotto la traccia dello stack Java (se disponibile)

Nota:

  • Un thread inattivo è un thread pronto a ricevere lavoro ma che non ha stabilito una connessione.
  • Il thread KEEP-ALIVE è un thread inattivo che può ricevere lavoro e stabilire una connessione in qualsiasi momento.
  • ASCOLTA thread in ascolto sulla porta

8. Se il thread possiede il monitor, il nome del thread verrà contrassegnato con un'icona speciale e mostrerà il thread che attende il blocco del monitor.

Nell'esempio seguente, il thread 'Plato priority9' ha un'icona di proprietà del monitor. Nell'elenco dei thread in attesa, vengono visualizzati i thread di Aristotele e Socrate.

Se il thread è in attesa del blocco del monitor, il nome del thread è contrassegnato da un'icona speciale e mostra il thread che possiede il blocco del monitor.

Nell'esempio seguente, il thread Aristotele priorità5 è in attesa dell'icona di blocco del monitor nella colonna del nome.

Nell'elenco 'Bloccanti', viene visualizzata la priorità 9 di Plato che possiede il monitor:

9. È possibile ordinare qualsiasi colonna facendo clic sull'intestazione della tabella. Di seguito è riportata la 'Visualizzazione dettagli thread' ordinata per stato thread

10. Di seguito è riportata la 'Visualizzazione dettagli thread' classificata in base al metodo.

11. Per impostazione predefinita, i thread deadlock sono visualizzati in grigio, come mostrato di seguito:

12. Tenere premuto il tasto Ctrl per selezionare più Javacore, quindi fare clic con il pulsante destro del mouse e quindi selezionare Confronta thread.

Oppure seleziona Analisi -> Confronta thread per visualizzare la vista 'Confronta thread'

13. Di seguito sono due visualizzazioni Compre Threads di Javacore.


Il riepilogo viene visualizzato nel riquadro di destra. Il nome del thread e il nome del metodo vengono visualizzati in ogni Javacore nella tabella.

  • ID processo
  • First Dump: il timestamp del primo Javacore
  • Last Dump: il timestamp dell'ultimo Javacore
  • Garbage collection al minuto: Garbage collection al minuto
  • Il numero di errori di allocazione al minuto: il numero di errori di allocazione al minuto
  • Tempo trascorso: il tempo tra il primo Javacore e l'ultimo Javacore
  • Numero di sospetti impiccati
  • Elenco dei sospetti impiccati

Lo sfondo rosso indica un possibile blocco nel thread. Il bordo verde indica che il thread può essere eseguito. Il bordo blu indica che il monitor è in attesa. Il bordo giallo indica lo stato di attesa.

14. Dopo aver selezionato il thread, verrà visualizzato il riepilogo del thread.

15. Selezionare 'Dettagli monitor' per visualizzare la vista 'Dettagli monitor'

16. Le informazioni sul blocco del monitor vengono visualizzate in un formato ad albero

La dimensione totale è il numero totale di thread direttamente o indirettamente correlati a un particolare monitor.

La dimensione è il numero di thread direttamente correlati a un particolare monitor.

Fare clic su uno dei thread.

Ci sono 47 thread in attesa di un monitor bloccato da Servlet Engine Transports: 3049

I thread deadlock vengono visualizzati con icone, Come segue:

17. È possibile fare clic su qualsiasi thread per visualizzare informazioni dettagliate sul monitor e le informazioni sul thread

18. È inoltre possibile confrontare i monitor nella visualizzazione di confronto dei monitor. Seleziona il menu Confronta monitor

19. La linea rossa indica che un particolare thread nella visualizzazione 'Monitor di confronto' potrebbe bloccarsi.

Se fai clic su un thread, nel riquadro centrale viene visualizzato un elenco di thread in attesa del blocco mantenuto dal thread. Se fai clic su un thread nel riquadro centrale, le informazioni sul thread verranno visualizzate nel riquadro di destra.

20. Selezionare Visualizza-> Opzione per configurare IBM Thread e Monitor Dump Analyzer per Java.

21. È possibile modificare la directory predefinita, il colore e altre opzioni.

22-1. Selezionare uno stato nel colore e fare clic sul pulsante di modifica per cambiare il colore.

22-2. Scegli un colore e fai clic su OK

23. Nel riquadro delle opzioni Avanzate, è possibile personalizzare il motore di riconoscimento del pattern di traccia dello stack:

Elenco ID: elenco ID della modalità di analisi dello stack personalizzata

ID: l'identificatore della modalità di traccia dello stack. Non sono ammessi spazi.

Nome stack: il nome della modalità di analisi dello stack vista dalla visualizzazione dei dettagli del thread

Stack trace: modalità Stack trace. Sintassi: `` at package.class.method ''. Le parentesi non sono consentite.

Descrizione: descrizione della modalità di traccia dello stack

Se vengono trovate corrispondenze, lo strumento cercherà il modello di traccia dello stack e visualizzerà il nome dello stack nella visualizzazione dei dettagli del thread

Avviso: se è stato caricato il dump del thread, aggiungere una nuova modalità di traccia dello stack e riaprire il dump del thread.

24. È possibile eliminare i messaggi nella console selezionando il menu Cancella console

25. Selezionare 'Disattiva il dump del thread' per scaricare il file Javacore.

26. Il menu della guida visualizza la schermata della guida.

27. Selezionare 'Help' -> 'About' per visualizzare le informazioni sulla versione di IBM Thread e Monitor Dump Analyzer per Java