"jcmd" est l'outil JVM Diagnostic, qui est un outil de ligne de commande utilisé pour exécuter des commandes de diagnostic localement sur une machine JVM donnée. Cet outil est inclus dans l'installation du JDK à partir de la version Java 7 et peut être représenté par le fichier programme "%java_home%binjcmd.exe". Si nous incluons le répertoire "%java_home%bin" dans la variable d'environnement "path", nous pouvons exécuter la commande "jcmd -h" pour voir la liste complète de tous les répertoires. Les options sont les suivantes
<strong>C:\Users\User>jcmd -h Usage: jcmd or: jcmd -l or: jcmd -h command must be a valid jcmd command for the selected jvm. Use the command "help" to see which commands are available. If the pid is 0, commands will be sent to all Java processes. The main class argument will be used to match (either partially or fully) the class used to start Java. If no options are given, lists Java processes (same as -l). PerfCounter.print display the counters exposed by this process -f read and execute commands from the file -l list JVM processes on the local machine -h this help</strong>
public class JCmdToolTest { public static void main(String args[]) { <strong>Runtime </strong>runtime = Runtime.<strong>getRuntime()</strong>; System.out.println("Free memory: " + runtime.<strong>freeMemory()</strong>); System.out.println("Total memory: " + runtime.<strong>totalMemory()</strong>); try { Thread.sleep(5000); } catch(InterruptedException e) { } } }
<strong>Free memory: 65454560 Total memory: 67108864</strong>
Nous pouvons utiliser la commande "jcmd -l" pour répertorier toutes les machines JVM en cours d'exécution sur le local, puis utiliser le PID ou la classe main dans la sortie pour identifier la JVM.
<strong>C:\Users\User>jcmd -l</strong> <strong>6108 jdk.jcmd/sun.tools.jcmd.JCmd -l</strong>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!