Présentation de jcmd
Après JDK1.7, Java a ajouté un nouvel outil de ligne de commande jcmd. jcmd est un outil polyvalent qui peut être utilisé pour implémenter les fonctions de toutes les commandes précédentes à l'exception de jstat. Par exemple : utilisez-le pour exporter le tas, l'utilisation de la mémoire, afficher les processus Java, exporter les informations sur les threads, exécuter le GC, l'exécution de la JVM, etc.
jcmd possède la plupart des fonctions de jmap, et il est également recommandé d'utiliser la commande jcmd au lieu de la commande jmap sur le site officiel d'Oracle.
官网:https://docs.oracle.com/en/java/javase/11/tools/jcmd.html
Afficher le numéro de processus (identique à jps)
Voir à quelles commandes le processus spécifié s'applique
Afficher les informations de thread (identique à jstack)
Afficher l'histogramme des classes (identique à jmap -histo)
Fonction de vidage de tas (identique à jmap -dump)
Afficher le temps d'exécution du processus Java
[root@bogon ~]# jstat -class -t 4622
Timestamp Loaded Bytes Unloaded Bytes Time
893.4 425 880.7 0 0.0 0.11
[root@bogon ~]# jcmd 4622 VM.uptime
4622:
897.023 s
Imprimer les informations sur les propriétés du système (ID de processus jinfo -sysprops)
Afficher les paramètres modifiés après le démarrage de la JVM
jcmd 4622 VM.flags
jinfo -flags 4622