Heim  >  Artikel  >  Java  >  So überprüfen Sie Speicherlecks in Java

So überprüfen Sie Speicherlecks in Java

WBOY
WBOYnach vorne
2023-05-07 09:58:071436Durchsuche

Speicherverlustszenario

Ein Speicherverlust tritt wahrscheinlich auf, wenn ein langlebiges Objekt einen Verweis auf ein kurzlebiges Objekt enthält. Obwohl das kurzlebige Objekt nicht mehr benötigt wird, wird es durch das langlebige Objekt verursacht Die Referenz kann nicht wiederverwendet werden. Dies ist das Szenario, in dem es in Java zu Speicherlecks kommt.

1. Überprüfen Sie die CPU- und Speicherauslastung während des Vorgangs:

    top –H –p 58527

2.

    df -h 查看磁盘情况
    du -h --max-depth=1 文件目录占用资源情况。

3. Speicher, Cache, Nutzung und Inaktivität anzeigen.

Free -m

S0C: Die Kapazität des ersten Überlebenden (Überlebensbereich) in der jungen Generation (Bytes)

S1C: Die Kapazität des zweiten Überlebenden (Überlebensbereich) in der jungen Generation (Bytes)

S0U : Der erste Überlebende (Überlebensbereich) in der jungen Generation verwendet derzeit Speicherplatz (Bytes)

S1U: Der zweite Überlebende (Überlebensbereich) in der jungen Generation verwendet derzeit Speicherplatz (Bytes)

EC: In der jungen Generation Die Kapazität von Eden (Bytes)

EU: Der derzeit von Eden (Bytes) in der jungen Generation genutzte Speicherplatz

OC: Die Kapazität der alten Generation (Bytes)

OU: Der aktuell von der alten Generation genutzte Speicherplatz (Bytes)

PC: Dauerhafte (persistente Generation) Kapazität (Byte)

PU: Dauerhafter (persistente Generation) aktuell genutzter Speicherplatz (Bytes)

YGC: Junge Generation vom Anwendungsstart bis zur Abtastzeit Die Anzahl der GCs in der jungen Generation

YGCT: Die Zeit(en), die für GC in der jungen Generation vom Anwendungsstart bis zur Probenahmezeit verwendet werden. FGC: Die Anzahl der GCs in der alten Generation (vollständige GC) vom Anwendungsstart bis zur Probenahmezeit. FGCT: Vom Anwendungsstart Zeit, die für GC bis zur alten Generation (vollständiger GC) zum Zeitpunkt der Abtastung benötigt wird.

    jstack 2829 > 1.log    
 
    grep -A 1'java.lang.Thread.State' jstack.log | wc -l

5. Laden Sie den Code-Dump für die Heap-Dateianalyse herunter.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie Speicherlecks in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen