Inhoudsopgave:

Hoe bekijk ik een heap dump?
Hoe bekijk ik een heap dump?

Video: Hoe bekijk ik een heap dump?

Video: Hoe bekijk ik een heap dump?
Video: How to take heap dump and Rread, analyze heap dump file by free software VisualVM | .hprof file 2024, Mei
Anonim

Als je een … hebt hoop dump bestand dat op uw lokale systeem is opgeslagen, kunt u het bestand openen in Java VisualVM door Bestand > Laden te kiezen in het hoofdmenu. Java VisualVM kan openen hoop stortplaatsen opgeslagen in de. hprof-bestandsindeling. Wanneer u een opgeslagen. opent hoop dump , de hoop dump wordt geopend als een tabblad in het hoofdvenster.

Evenzo, hoe maak ik een heap dump?

Er zijn verschillende manieren om een Java-heapdump te genereren:

  1. Gebruik de jmap -dump optie om tijdens runtime een heap dump te verkrijgen;
  2. Gebruik de jconsole-optie om tijdens runtime een heapdump te verkrijgen via HotSpotDiagnosticMXBean;
  3. Heapdump wordt gegenereerd wanneer OutOfMemoryError wordt gegenereerd door -XX:+HeapDumpOnOutOfMemoryError VM-optie op te geven;
  4. Gebruik hprof.

Weet ook, wat is heap dump? EEN hoop dump is een momentopname van het geheugen van een Java™-proces. De snapshot bevat informatie over de Java-objecten en klassen in de hoop op het moment dat de snapshot wordt geactiveerd. Klasselader, naam, superklasse en statische velden. Wortels van de vuilnisophaaldienst. Objecten die zijn gedefinieerd om bereikbaar te zijn door de JVM.

Hierin, hoe analyseer je een geheugenlek voor heap dump?

Om een op te sporen geheugenlek , je hebt een " hoop dump " met een samenvatting van de levende objecten in een lekkend proces. Voor het opnemen van een dumpen , voer eerst jps uit om de PID van het proces te vinden en voer vervolgens jmap - dumpen :live, format=b, file=(dumpfile) (pid).

Waarom wordt heapdump gegenereerd?

de JVM genereert de Heap Dump bestand in het opgegeven bestandspad. Soms hebben we misschien nodig: Heap Dump op aanvraag. Om problemen met het geheugenverbruik op te lossen, hebben we nodig: Heap Dump . Als u het HeapDumpPath niet hebt opgegeven, dan is de JVM genereert het bestand waarin het JAVA-proces wordt uitgevoerd.

Aanbevolen: