当前位置:网站首页>Jstat pour la commande JVM: voir les statistiques JVM

Jstat pour la commande JVM: voir les statistiques JVM

2022-07-07 05:59:00 Zhang Junjie 1994

Apprendre Shang Silicon Valley Song hongkang JVMDe l'initiation à la maîtrise Notes d'étude

Généralités

image.png

Syntaxe de base

image.png

Parmi euxvmidC'est le processus.idNo.,C'est - à - direjpsLe numéro avant vu après,Comme suit:
image.png

optionParamètres
-gc
Cénozoïque
S0CC'est la taille de la première zone de survie(Octets)
S1CC'est la taille de la deuxième zone de survie(Octets)
S0UEst la taille utilisée pour la première zone de survie(Octets)
S1UEst la taille utilisée pour la deuxième zone de survie(Octets)
EC- Oui.EdenTaille de l'espace(Octets)
EU- Oui.EdenTaille de l'espace utilisé(Octets)
Corrélation gériatrique
OCC'est la taille de l'âge(Octets)
OUC'est la taille utilisée par les anciens(Octets)
Domaine méthodologique(Méta - espace)Autres
MC Est la taille de la zone de méthode
MU Est la taille utilisée par la zone de méthode
CCSC Est la taille de l'espace de classe compressé
CCSU Est la taille utilisée pour compresser l'espace de classe
Autres
YGC Est du démarrage de l'application à l'échantillonnage young gcNombre de fois
YGCT C'est - à - dire depuis le début de l'application jusqu'à l'échantillonnage young gcÇa prend du temps(Secondes)
FGC Est du démarrage de l'application à l'échantillonnage full gcNombre de fois
FGCT Depuis le début de l'application jusqu'au moment de l'échantillonnage full gcLe temps écoulé(Secondes)
GCT Est du démarrage de l'application à l'échantillonnage gcDurée totale

intervalParamètres
Utilisé pour spécifier la période de production des statistiques,En millisecondes.C'est - à - dire:: Intervalle de requête

countParamètres
Utilisé pour spécifier le nombre total de requêtes

-tParamètres
Vous pouvez ajouter unTimestampColonnes,Afficher le temps d'exécution du programme.Unité:Secondes

Nous appliquonsjstat -gc -t 13152 1000 10,Ça représente1 Les secondes impriment 1D'accord,Total10D'accord,-t Pour imprimer TimestampDurée totale de fonctionnement,Les résultats sont les suivants:
image.png
La boîte rouge ci - dessus représente Timestamp, Et la boîte bleue représente le temps de collecte des ordures ,En secondes., Si vous soustrayez deux valeurs de la boîte rouge ,Supposons que cette valeur soitnum1, Ensuite, soustrayez les deux autres valeurs de la boîte bleue de la ligne correspondante ,Supposons que cette valeur soitnum2,Et puisnum2/num1, La différence qui en résulte est ce qui précède. GC Temps en pourcentage du temps d'exécution
Même si c'est plus compliqué , Mais après le déploiement du projet, vous devez utiliser la ligne de commande pour voir , Il n'y aura pas d'interface visuelle , Donc cette façon de faire

-hParamètres
Il est possible de,Affiche un en - tête après Combien de lignes de données sont sorties


Présentation

image.png
Démarrer le programme ci - dessus
Entrez la commande suivante
image.png
Loaded Est le nombre de classes chargées
Le premierBytes Est le nombre d'octets occupés par la classe chargée
Unloaded Est le nombre de classes déchargées
DeuxièmeBytes Est le nombre d'octets consommés par la classe déchargée
Time Est le temps de chargement de la classe


image.png
Les paramètres de la flèche sont intervalParamètres,
La flèche signifie1Imprimer une fois par seconde, Pour notre surveillance continue .Imprimera tout le temps, Ne pas imprimer tant que le programme n'est pas terminé .


image.png
Le paramètre de la flèche est le nombre d'impressions ,10 Ça veut dire qu'au total 10Une fois,Atteindre10 L'impression s'arrête après .


image.png
-tSignifie sortie Combien de temps s'est écoulé entre le début du programme et maintenant que vous tapez sur la commande ,En secondes
Timestamp C'est le moment


image.png
-h3 Cela signifie que l'en - tête de la table est sortie tous les trois enregistrements


compiler Est la méthode d'affichage compilée , La méthode compilée prend du temps , Méthodes de compilation échouées, etc
image.png


Imprimer la méthode compilée

image.png


image.png
s0c Survivants0Capacité régionale
s1c Survivants1Capacité régionale
sou Survivants0Capacité déjà utilisée par la zone
s1u Survivants1Capacité déjà utilisée par la zone
ec Capacité totale du parc Eden
eu Capacité déjà utilisée dans le parc Eden
oc C'est la somme de l'âge
ou C'est la capacité utilisée par les anciens
mc Est la capacité de la zone de méthode
mu Est la capacité utilisée par la zone de méthode
ccsc Est le total des classes de compression
ccsu Est la capacité d'utilisation de la classe de compression
ygc - Oui.young gc Paramètres qui se sont produits
tgct - Oui.young gcTemps écoulé
fgc- Oui.full gcParamètres pour
fgct - Oui.full gcTemps écoulé
gct Oui, en général.gcLe temps, TotalgcTemps écoulé=young gcTemps écoulé+full gcTemps écoulé

jstat:Comment vérifierOOMEt fuites de mémoire

En temps normal, vous pouvez utiliser des outils d'interface graphique pour voir , Mais dans un environnement de production réel , Ces outils d'interface graphique peuvent ne pas être disponibles , Ça ne peut être que pour jdkAutoportantejstat Outils de visualisation surveillance .

image.png
image.png

Démarre çamainMéthodes

image.png

Attention!, N'a pas été lancé lors de l'exécution de la commande ci - dessus oomAnomalie,Et derrière.Java La console de programme a lancé cette exception .
image.png


image.png


image.png
- Oui.gcRaisons

oom Expérience de dépannage :
image.png
Expérience:
Nous pouvons comparerJava Temps de démarrage du processus et total gcLe temps(gctColonnes), Ou l'intervalle entre les deux mesures et le total gc L'accroissement du temps (Mise en œuvregcCombien de temps ça a pris?), C'est parti. gc Proportion du temps d'exécution par rapport au temps d'exécution du programme .

image.png
Les données entre les deux cases rouges ci - dessus gctLa somme du temps Divisé par Les données entre les deux cases rouges ci - dessus TimestampLa somme du temps, Pour obtenir la proportion du temps consacré à la collecte des ordures par rapport au temps total consacré à l'exécution du programme
Si cette proportion dépasse 20%, Cela signifie que la pression actuelle du réacteur est élevée , Parce que le temps de recyclage des ordures est un peu plus long , Si cette proportion dépasse 90%C'est, Cela signifie que le programme est exécuté à 100% du temps 90 Le temps passé à ramasser les ordures , Ça veut dire qu'il n'y a pratiquement plus d'espace mémoire , Alors ça pourrait arriver à tout moment oomC'est anormal.

Avecjstat Identifier les fuites de mémoire

Supplément
image.png
No1 Step peut exécuter des commandes :jstat -gc -t 13152 1000 20

image.png

Regardez de temps en temps ou Paramètres, Si ouParamètres( Utilisation de la mémoire à l'ancienne ) De plus en plus , C'est une situation dans laquelle les objets qui ne peuvent pas être recyclés dans les temps anciens continuent de croître , Tu dois y réfléchir.,Pourquoigc Je n'ai pas nettoyé ces objets , Une fuite de mémoire est probable .

jstatd:Collecte d'informations sur l'hôte distant

Parce que les données que nous allons surveiller ne sont pas nécessairement locales , Beaucoup de données à surveiller sont en ligne linuxOui.,C'est le moment d'utiliserjstatd Cet outil est surveillé à distance .

Les ordresjstatdC'est unrmiServeur, Fonctionne comme un serveur mandataire ,Établir la communication entre l'ordinateur local et l'outil de surveillance à distance,jstatdLe serveur vaJava Les informations de l'application sont transmises à l'ordinateur distant .
image.png

原网站

版权声明
本文为[Zhang Junjie 1994]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070046516619.html