Turinys:

Kas sukelia „Java“krūvos iškeldinimą?
Kas sukelia „Java“krūvos iškeldinimą?

Video: Kas sukelia „Java“krūvos iškeldinimą?

Video: Kas sukelia „Java“krūvos iškeldinimą?
Video: Java Heaps 2024, Lapkritis
Anonim

Aptikti pagrindinę priežastį „Java“sąvartynuose

  • The priežasčių yra viskas, kas naudoja atmintį (o tai yra daug). Jūs ieškote objektų, kurie naudoja daugiau atminties nei manote, kad turėtų.
  • Jei programa veikia tinkamai, priežastis gali būti maksimalus krūva dydis per mažas. –

Taip pat paklausta, kaip paimti Java krūvos iškeltą?

Yra keli būdai, kaip sukurti „Java“krūvos iškeldinimą:

  1. Naudokite jmap -dump parinktį, kad gautumėte krūvos išrašymą vykdymo metu;
  2. Naudokite jconsole parinktį, kad gautumėte krūvos išrašymą per HotSpotDiagnosticMXBean vykdymo metu;
  3. Krūvos išrašymas bus sugeneruotas, kai OutOfMemoryError bus išmestas, nurodant -XX:+HeapDumpOnOutOfMemoryError VM parinktį;
  4. Naudokite hprof.

Taip pat žinote, kodėl generuojamas krūvos išmetimas? JVM generuoja į Krūvos sąvartynas failą nurodytame failo kelyje. Kartais mums gali prireikti Krūvos sąvartynas pagal pareikalavimą. Norėdami pašalinti atminties suvartojimo triktis, mums reikia Krūvos sąvartynas . Jei nenurodėte HeapDumpPath, tada JVM generuoja failas, kuriame veikia JAVA procesas.

Be to, kas yra „Java heap dump“?

A krūvos sąvartynas yra a atminties momentinė nuotrauka Java ™ procesas. Momentinėje nuotraukoje yra informacijos apie Java objektai ir klasės krūva tuo metu, kai suveikia momentinė nuotrauka. Kadangi yra skirtingi šių duomenų išsaugojimo formatai, pateikiama informacija gali skirtis.

Kaip skaityti krūvą?

Atidaryk krūvos sąvartynas Eclipse Memory Analyzer naudodami parinktį File Open Krūvos sąvartynas . Pirma, jis paragins jus sukurti pranešimą apie įtariamą nuotėkį. Vartotojas gali jį sukurti arba praleisti. Atminties analizatoriaus skirtuke „Apžvalga“bus rodomas bendras dydis krūva ir objekto dydžio skritulinę diagramą.

Rekomenduojamas: