Intellij Idea-Profiling

reclame

Profiler oferă informații despre aplicația dvs., cum ar fi utilizarea procesorului, a memoriei și a heap-ului. De asemenea, oferă detalii despre firele aplicației. Acest capitol discută despre utilizarea VisualVMtool pentru profilarea aplicațiilor Java. Se poate profil entități, cum ar fi CPU și heap.

se recomandă ca cititorii acestui tutorial să fie familiarizați cu aplicația profilerconcepts.

Introducere

VisualVM este un instrument vizual care integrează instrumente JDK și vă oferă profilingcapabilities puternice. Vă permite să generați și să analizați datele heap, să urmăriți scurgerile de memorie,să monitorizați colectorul de gunoi și să efectuați profilarea memoriei și a procesorului.

beneficii

  • interfață vizuală pentru aplicații Java locale și la distanță care rulează pe JVM.

  • monitorizarea utilizării memoriei aplicației și a comportamentului de rulare al aplicației.

  • monitorizarea firelor de aplicare

  • analiza alocările de memorie pentru diferite aplicații.

  • filet haldele − foarte la îndemână în caz de blocaje și condițiile de rasă.

  • haldele Heap − foarte util în analiza alocarea memoriei heap.

configurare

în această secțiune, vom învăța pașii efectuați pentru a configura VisualVM. Pașii sunt caurmați−

  • Descărcați-l de aici.

  • extrageți fișierul zip.

  • navigați la etc / visualvm.fișier conf și adăugați următoarea linie în acest fișier−

visualvm_jdkhome=<path of JDK>
  • dacă JDK-ul dvs. este instalat în C:\Program Files \ Java \ JDK-9.0.1 directorar trebui să arate astfel−

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

aplicație de monitorizare

să vedem acum cum să monitorizăm aplicația. Luați în considerare următorii pași pentru a înțelegela fel−

  • faceți dublu clic pe vizualizarevm.fișier exe.
  • Selectați aplicația din panoul din stânga.
  • selectați fila monitor.

aplicație de monitorizare

veți fi direcționat către o fereastră în care veți obține detalii despre CPU, Heap, Claseși fire. Pentru a fi specific cu utilizarea, treceți mouse-ul peste orice Grafic. Putem vedea utilizarea Heap în captura de ecran de mai sus.

Insights despre Fire

aplicație Java poate conține mai multe fire de execuție. Pentru a afla mai multe despre fire,selectați fila Fire a unei anumite aplicații. Acesta va oferi diverse statistici desprefire, cum ar fi numărul de fire vii și fire daemon. Diferitele stări ale firului suntalergând, Dormind, așteptând, parcând și monitorizând.

Insights Threads

aplicație de eșantionare

VisualVM acceptă CPU, eșantionarea memoriei și detectarea scurgerilor de memorie. Pentru a eșantiona aplicația, selectați aplicația și alegeți fila eșantion −

eșantionare CPU

pentru eșantionare CPU, faceți clic pe butonul CPU așa cum se arată în următoarea captură de ecran −

eșantionare memorie

profilare memorie

pentru profilare memorie, faceți clic pe butonul memorie așa cum se arată în următoarea captură de ecran −

memorie profilare

pierderi de memorie

o scurgere de memorie apare atunci când o aplicație, în timp ce rulează, umple încet heap cuobiecte care nu sunt șterse automat de program.

dacă un obiect care nu este utilizat de program nu este șters, atunci acesta rămâne în memorie ȘIGC nu își poate recupera spațiul. Dacă numărul de octeți și numărul de instanțe din aplicația dvs. ar crește constant și semnificativ în programul dvs. până la punctul deutilizarea întregului spațiu, aceasta poate fi o indicație a unei scurgeri de memorie.

aplicație de profilare

în această secțiune, vom învăța cum să profilăm o aplicație. Pentru profilarea unei aplicații, Selectați aplicație din panoul din stânga și faceți clic pe fila Profil −

profilarea procesorului

pentru a efectua profilarea procesorului, faceți clic pe butonul CPU așa cum se arată în captura de ecran de mai jos −

profilarea procesorului

profilarea memoriei

pentru a efectua profilarea procesorului, faceți clic pe butonul CPU așa cum se arată în captura de ecran de mai jos −

profilarea memoriei procesorului

reclame

Lasă un răspuns

Adresa ta de email nu va fi publicată.