Profiler geeft inzichten over uw toepassing, zoals de CPU, geheugen en heap gebruik. Het geeft ook details over de toepassing threads. Dit hoofdstuk bespreekt het gebruik van VisualVMtool voor Java application profiling. Het kan entiteiten zoals CPU en heap profileren.
het wordt aanbevolen dat de lezers van deze handleiding bekend zijn met de concepten van het toepassingsprofiel.
Inleiding
VisualVM is een visuele tool die JDK-tools integreert en u krachtige profilingcapaciteiten geeft. Hiermee kunt u heap-gegevens genereren en analyseren, geheugenlekken opsporen,de garbage collector bewaken en geheugen-en CPU-profilering uitvoeren.
uitkeringen
-
visuele interface voor lokale en externe Java-toepassingen die draaien op JVM.
-
Monitoring van het geheugengebruik van de toepassing en het runtime-gedrag van de toepassing.
-
Monitoring van toepassingsdraden
-
het analyseren van de geheugentoewijzingen voor verschillende toepassingen.
-
thread dumps-erg handig in geval van deadlocks en race-omstandigheden.
-
Heap dumps-erg handig bij het analyseren van de heap geheugen toewijzing.
configuratie
in deze sectie zullen we de stappen leren die worden uitgevoerd om VisualVM te configureren. De stappen volgen−
-
Download het vanaf hier.
-
pak het zip-bestand uit.
-
Navigeer naar etc / visualvm.conf bestand en voeg de volgende regel in dit bestand−
visualvm_jdkhome=<path of JDK>
-
als uw JDK is geïnstalleerd in de C:\Program bestanden \ Java \ jdk-9.0.1 map dan moet het er zo uitzien−
visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"
Monitoring applicatie
laten we nu zien hoe de applicatie te controleren. Overweeg de volgende stappen om hetzelfde te begrijpen−
- Dubbelklik op de visualvm.exe file.
- selecteer de toepassing in het linkerdeelvenster.
- Selecteer het tabblad monitor.
u wordt doorverwezen naar een venster waar u de details over CPU, Heap, classes en threads krijgt. Om specifiek te zijn met het gebruik, beweeg de muis over een grafiek. We kunnen zien het gebruik van Heap in de bovenstaande screenshot.
inzichten over Threads
Java-applicatie kan meerdere uitvoerdreads bevatten. Als u meer wilt weten over threads,selecteert u het tabblad Threads van een bepaalde toepassing. Het zal verschillende statistieken geven over threads zoals aantal live threads en daemon threads. De verschillende rode draad luidt: lopen, slapen, wachten, parkeren en bewaken.
Sampling applicatie
VisualVM ondersteunt CPU -, geheugenbemonstering en geheugenlekdetectie. Om een monster van toepassing, selecteert u de toepassing en kiest u het tabblad voorbeeld −
CPU bemonstering
Voor CPU bemonstering, klik op de CPU-knop zoals weergegeven in de volgende screenshot −
Geheugen profilering
Voor profilering van geheugen, klik op de Memory-knop zoals weergegeven in de volgende schermafbeelding −
Memory leaks
er treedt Een geheugenlek op wanneer een toepassing, tijdens het lopen, langzaam vult de hoop withobjects die worden niet automatisch gewist door het programma.
als een object dat niet door het programma wordt gebruikt niet wordt verwijderd, dan blijft het in het geheugen en kan GC zijn ruimte niet terugwinnen. Als het aantal bytes en het aantal gevallen in je application constant en aanzienlijk zou toenemen in je programma tot het punt van het gebruik van alle ruimte, kan dit een indicatie zijn van een geheugenlek.
Profileringsapplicatie
In deze sectie zullen we leren hoe je een toepassing profileert. Het profiel van een toepassing, selecteert u de toepassing van linkerdeelvenster en klik op het tabblad profiel −
CPU profilering
uitvoeren CPU-profilering, klik op de CPU-knop zoals weergegeven in de screenshot hieronder −
Geheugen profilering
uitvoeren CPU-profilering, klik op de CPU-knop zoals weergegeven in de screenshot hieronder −