web-dev-qa-db-fra.com

Interprétation des résultats jstat

Je suis nouveau sur jstat tool. J'ai donc fait un échantillon comme ci-dessous.

./jstat -gcutil -t 4001 5000
Timestamp         S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
       565088.4   0.00   0.89  75.86  40.59  84.80    405    3.822     4    0.549    4.371
       565093.4   0.00   0.89  77.81  40.59  84.80    405    3.822     4    0.549    4.371
       565098.4   0.00   0.89  77.81  40.59  84.80    405    3.822     4    0.549    4.371
       565103.5   0.00   0.89  77.85  40.59  84.80    405    3.822     4    0.549    4.371
       565108.5   0.00   0.89  77.85  40.59  84.80    405    3.822     4    0.549    4.371
       565113.4   0.00   0.89  77.85  40.59  84.80    405    3.822     4    0.549    4.371


jstat -gc output

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT
704.0  704.0   0.4    0.0    6080.0   4013.8   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4016.6   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506

Qu'est-ce que cela indique? Quelles sont les colonnes pour rechercher d'éventuels problèmes de mémoire, par exemple fuite de mémoire, etc.

28
new14

Consultez la documentation:

https://docs.Oracle.com/javase/8/docs/technotes/tools/unix/jstat.html

Fondamentalement, une ligne correspond à un point dans le temps. Les colonnes affichent des données sur les zones de mémoire de la JVM (Survivor, Eden, ...), il est impossible de les comprendre sans savoir comment fonctionne la JVM.

Par exemple, dans l'article garbage collection JVM dans la jeune génération il y a une explication.

Voici l'extrait du fonctionnement de la génération d'objets JVM :

Eden est un endroit où de nouveaux objets sont créés. Lorsque l'Eden est plein, un small GC est exécuté: si un objet n'y fait pas référence, il sera supprimé, sinon il survivra et se déplacera vers l'espace Survivor (un seul des espaces survivants utilisés à la fois, tous les objets de l'autre espace y est copié).

Si un objet survit à un certain nombre de copies de va-et-vient, il est déplacé dans l'espace Old. Si l'ancien espace est plein, un Full GC est exécuté, ce qui affecte tous les objets de la JVM, il s'agit donc d'une opération beaucoup plus lourde.

Il existe également l'espace Permanent, où sont stockées les "métadonnées" (descripteurs de classe, champ, méthode, ... descripteurs).

24
gaborsch

gcutil donne des statistiques en termes d'utilisation en pourcentage

-gcutil Option
Summary of Garbage Collection Statistics 
Column  Description
S0      Survivor space 0 utilization as a percentage of the space's current capacity.
S1      Survivor space 1 utilization as a percentage of the space's current capacity.
E       Eden space utilization as a percentage of the space's current capacity.
O       Old space utilization as a percentage of the space's current capacity.
P       Permanent space utilization as a percentage of the space's current capacity.
YGC     Number of young generation GC events.
YGCT    Young generation garbage collection time.
FGC     Number of full GC events.
FGCT    Full garbage collection time.
GCT     Total garbage collection time.

gc donne des statistiques en termes d'espace alloué et d'espace utilisé.

-gc Option
Garbage-collected heap statistics 
Column  Description
S0C     Current survivor space 0 capacity (KB).
S1C     Current survivor space 1 capacity (KB).
S0U     Survivor space 0 utilization (KB).
S1U     Survivor space 1 utilization (KB).
EC      Current eden space capacity (KB).
EU      Eden space utilization (KB).
OC      Current old space capacity (KB).
OU      Old space utilization (KB).
PC      Current permanent space capacity (KB).
PU      Permanent space utilization (KB).
YGC     Number of young generation GC Events.
YGCT    Young generation garbage collection time.
FGC     Number of full GC events.
FGCT    Full garbage collection time.
GCT     Total garbage collection time.

Source: Documents

27
Aniket Thakur

Utilisez ce simple outil de visualisation jstat en ligne pour tracer les statistiques GC jstat.

17
danixon