Profiler fornisce informazioni sulla tua applicazione come il suo utilizzo di CPU, memoria e heap. Fornisce anche dettagli sui thread dell’applicazione. Questo capitolo illustra l’utilizzo di VisualVMtool per la profilatura di applicazioni Java. Può profilare entità come CPU e heap.
Si raccomanda che i lettori di questo tutorial hanno familiarità con l’applicazione profilerconcepts.
Introduzione
VisualVM è uno strumento visivo che integra strumenti JDK e ti dà potenti capacità di profiling. Esso consente di generare e analizzare i dati heap, rintracciare perdite di memoria,monitorare il garbage collector ed eseguire la memoria e CPU profiling.
Prestazioni
-
Interfaccia visiva per applicazioni Java locali e remote in esecuzione su JVM.
-
Monitoraggio dell’utilizzo della memoria dell’applicazione e del comportamento di runtime dell’applicazione.
-
Monitoraggio dei thread di applicazione
-
Analizzare le allocazioni di memoria a diverse applicazioni.
-
Discariche di filo-molto utile in caso di deadlock e condizioni di gara.
-
Heap dump – molto utile per analizzare l’allocazione della memoria heap.
Configurazione
In questa sezione, impareremo i passaggi eseguiti per configurare VisualVM. I passaggi sono segue−
-
Scaricalo da qui.
-
Estrarre il file zip.
-
Passare a etc / visualvm.file conf e aggiungere la seguente riga nel file−
visualvm_jdkhome=<path of JDK>
-
Se il JDK installato nel C:\Program Files\Java\jdk-9.0.1 directory thenit dovrebbe assomigliare a questa−
visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"
applicazione di Monitoraggio
vediamo ora come monitorare l’applicazione. Considera i seguenti passaggi per capirelo stesso−
- Fare doppio clic su visualvm.exe.
- Selezionare l’applicazione dal riquadro sinistro.
- Selezionare la scheda monitor.
Verrai indirizzato a una finestra in cui otterrai i dettagli su CPU, Heap, classee thread. Per essere specifici con l’utilizzo, passa il mouse su qualsiasi grafico. Possiamo vedere l’uso di Heap nello screenshot qui sopra.
Approfondimenti sui thread
L’applicazione Java può contenere più thread di esecuzione. Per ulteriori informazioni sui thread,selezionare la scheda Thread di una particolare applicazione. Darà varie statistiche aboutthreads come il numero di thread live e thread daemon. I diversi stati di thread areRunning, Sleeping, Waiting, Park e Monitor.
Applicazione di campionamento
VisualVM supporta CPU, campionamento della memoria e rilevamento di perdite di memoria. Per esempio l’applicazione, selezionare l’applicazione e scegli l’esempio scheda −
CPU di campionamento
Per CPU di campionamento, fare clic sulla CPU pulsante come mostrato nel seguente screenshot −
profili di Memoria
Per i profili di memoria, fare clic sul pulsante di Memoria come mostrato nel seguente screenshot −
perdite di Memoria
Una perdita di memoria si verifica quando un’applicazione, durante l’esecuzione, si riempie lentamente heap withobjects che non vengono eliminati automaticamente dal programma.
Se un oggetto non utilizzato dal programma non viene eliminato, rimane in memoria e il GC non può recuperare il suo spazio. Se il numero di byte e il numero di istanze nella tua applicazione dovessero aumentare costantemente e in modo significativo nel tuo programma fino al punto di utilizzare tutto lo spazio, questo può essere un’indicazione di una perdita di memoria.
Profiling application
In questa sezione, impareremo come profilare un’applicazione. Per il profilo di un’applicazione, selezionare l’applicazione dal riquadro di sinistra e fare clic sulla scheda “profilo” −
CPU profilazione
Per eseguire la CPU profilatura, fare clic sulla CPU pulsante come mostrato nella schermata sotto −
profili di Memoria
Per eseguire la CPU profilatura, fare clic sulla CPU pulsante come mostrato nella schermata sotto −