Dans le répertoire bin JDK, il existe une variété de petits outils pour le débogage de soutien, le suivi, compiler et exécuter d'autres fonctions.
root @ root: / usr / lib / jvm / java-8-openjdk-amd64 / bin # ls appletviewer HSDB jarsigner javadoc java-rmi.cgi JDB jinfo JPS jstack keytool pack200 rmid serialver unpack200 xjc clhsdb idlj java javah jcmd jdeps JJS jrunscript jstat native2ascii policytool rmiregistry servertool wsgen extcheck pot javac javap jconsole jhat jmap jsadebugd jstatd orbd rmic schemagen tnameserv wsimport
1.jps: outil d'état de processus VM
Vous pouvez lister les machines virtuelles en cours d'exécution des processus et affiche la machine virtuelle exécute la classe principale (classe principale, la fonction principale () où la classe), ainsi que le nom d'une machine virtuelle locale ces processus ID unique (LVMID.Local Virtual Machine Identifier)
root @: ~ $ de JPS utilisation: JPS [-help] JPS [-q] [-mlvV] [<hostid>] Définitions: <hostid>: <nom d' hôte> [: <port>]
root @: / home / dev # JPS -l
1505 * .jar
1507 * .jar
JPS paramètres d'option:
-q: sortie uniquement LVMID, omis le nom de la classe principale de
-m: transmis à la classe principale sortie processus principal de la machine virtuelle démarre () des paramètres de fonction
-l: nom complet de la sortie de la classe de maître, si le processus est exécuté paquet de pot, le chemin de sortie JAR
JVM paramètres de processus de machine virtuelle sortie commence: -v
2.jmap: Java outils d'imagerie mémoire
Pour l'instantané de vidage tas brut.
L'utilisation: la jmap [Option] <PID>
Option:
-dump: vidage de tas vert instantané -dump: [Live] = le format B, fichier = <nom de fichier> <PID>
-heap: tas java Afficher les détails
root @ dev03: / home / dev # jmap -dump: format = b, file = heapdump 30138
tas dumping / home / wuh151 / heapdump ...
Heap fichier de vidage créé
root @: / home / dev # jmap -heap 30138
Attachement à l' ID de processus 30138, s'il vous plaît patienter ...
Debugger attaché avec succès.
Compilateur serveur détecté.
JVM version est 25.242-B08
en utilisant l' affectation de l' objet thread-local.
GC parallèle avec 8 fil (s)
Heap Configuration:
MinHeapFreeRatio = 0 ## correspond JVM démarrage paramètres -XX: ralenti minimum MinHeapFreeRatio réglage du coefficient de JVM (par défaut 40)
MaxHeapFreeRatio ## = 100 correspondant aux paramètres JVM de démarrage -XX: rapport de ralenti maximum disposé pile JVM MaxHeapFreeRatio (par défaut 70)
maxHeapSize = 1073741824 ( 1024.0MB) ## correspondant au début JVM paramètres -XX: maxHeapSize = définir la taille maximale du tas JVM
NewSize = 178782208 (170.5MB) ## correspondant au début de paramètres JVM -XX: NewSize = disposé JVM pile « nouvelle génération » taille par défaut
MaxNewSize = 357564416 (341.0MB) ## correspondant au début de paramètres JVM -XX: MaxNewSize = disposé JVM pile 'nouvelle génération' taille maximale
OldSize = 358088704 (de 341.5MB) ## correspondant au début des paramètres JVM -XX: OldSize = <value>: set tas JVM taille « ancienne génération »
NewRatio = 2 ## correspondant au début JVM paramètres -XX: NewRatio =: « nouvelle génération » et le rapport de taille « ancienne génération »
SurvivorRatio = 8 ## correspondant aux paramètres JVM de démarrage -XX: SurvivorRatio = Eden disposé dans la zone de taille zone jeune génération Survivor rapport
MetaspaceSize = 1073741824 (1024.0MB)
CompressedClassSpaceSize = 268435456 (256.0MB)
MaxMetaspaceSize = 2147483648 (2048.0MB)
G1HeapRegionSize = 0 (0.0MB)
3.jstack: outil de trace pile Java
Le temps pour le thread en cours pour générer un instantané de la machine virtuelle. Le fil est un instantané de la méthode actuelle de collection machines virtuelles chaque pile de fil d'exécution, instantané fil de génération objectif est généralement de localiser le fil apparaît longue pause.
Comptez le nombre de threads à utiliser:
root @ dev03: / Accueil / dev # 2791 jstack le -l | grep 'java.lang.Thread.State' | WC -L 48
Détection des blocages:
Première étape: Voir occupe processus cpu haut en
haut
Étape deux: Vérifiez occupent threading haut cpu
haut -H -p 17850
Troisième étape: Convertir le TID
printf « le% de X- \ le n » 17880
45d8
Quatrième étape: Localisez le fil d'utilisation cpu
jstack 17850 | grep 45d8 -A 30
4.jstat: Virtual Statistiques machine Monitoring Tool
Divers moniteur d'état de fonctionnement des machines virtuelles.
Utilisation: jstat -help | -options jstat - <l'option> [-t] [-h <lignes>] <Vmid> [<interval> [<count>]]
comptage intervalle paramètres représente le nombre de fois que l'intervalle de requête et, si l'argument est omis, Description seulement vérifier une fois
l'option:
le chargement de classe moniteur -class, la quantité de déchargement, l' espace total de charge de classe et le temps passé
-gc surveillance de l' état tas java
-gcutil -gc avec essentiellement la même, la sortie des principales préoccupations a été utilisé et quel est le pourcentage de l'espace total
. ..
root @: / home / dev # jstat -gcutil 25791
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
97,84 0,00 61,84 77,63 97,22 95,68 338 58,808 2 60,595 1,787
S0: 0 Zone survivant rapport actuellement utilisé
S1: zone actuellement utilisé dans une proportion survivante 1
E: Zone Eden utilisant une proportionnel
O: la proportion des années de plus
M: rapport de surface en utilisant des métadonnées
CCS: Utilisation taux de compression
YGC: le nombre de la jeune génération de recyclage des ordures
YGCT: la jeune génération du temps de collecte des ordures
FGC: le nombre d'années l'ancienne collecte des ordures
FGCT: vieux temps est la collecte des ordures
GCT: Temps total de la collecte des ordures