“jcmd”是 JVM 诊断工具,它是一个命令行工具,用于在本地针对给定 JVM 运行诊断命令机器。该工具从Java 7版本开始就包含在JDK安装中,可以用“%java_home%binjcmd.exe”程序文件表示。如果我们在环境变量“path”中包含“%java_home%bin”目录,我们可以运行“jcmd -h”命令来查看所有目录的完整列表选项如下
C:UsersUser>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
登录后复制
示例
public class JCmdToolTest {
public static void main(String args[]) {
Runtime runtime = Runtime.getRuntime();
System.out.println("Free memory: " + runtime.freeMemory());
System.out.println("Total memory: " + runtime.totalMemory());
try {
Thread.sleep(5000);
} catch(InterruptedException e) {
}
}
}
登录后复制
输出
Free memory: 65454560
Total memory: 67108864
登录后复制
我们可以使用“jcmd -l”命令列出本地上所有正在运行的 JVM机器,然后使用输出中的 PID 或类 main 来识别 JVM。
C:UsersUser>jcmd -l
6108 jdk.jcmd/sun.tools.jcmd.JCmd -l
登录后复制
以上就是jcmd工具在Java 9中的重要性是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!