jcmd [ pid | main-class ] 命令... | PerfCounter.print |
-f 文件名
jcmd -l
jcmd -h
与jcmd实用程序一起使用的Java Flight Recorder(JFR)是一种商业产品,必须在使用前启用。一旦JVM运行时,jcmd命令VM.unlock_commercial_features被用于解锁商业功能和能够使用所描述的JFR命令的命令- jcmd。
pid
使用该jcmd实用程序时,该实用程序会将诊断命令请求发送到Java进程的进程ID。
main-class
使用该jcmd实用程序时,该实用程序会将诊断命令请求发送给具有指定主类名称的所有Java进程。
command
本**command必须是一个有效jcmd的选择JVM命令。jcmd通过运行help命令()获得可用命令列表,其中是正在运行的Java进程的进程ID。如果为,则命令将发送到所有Java进程。main class参数将用于部分或完全匹配用于启动Java的类。如果未提供任何选项,它将列出正在运行的Java进程标识符,以及用于启动该进程的主类和命令行参数(与using相同)。jcmd pid helppidpid0-l
Perfcounter.print
打印指定的Java进程公开的性能计数器。
—f filename
从指定的文件中读取并执行命令filename。
-l
显示带有用于启动进程的主类和命令行参数的正在运行的Java虚拟机进程标识符的列表。
-h
显示jcmd实用程序的命令行帮助。
描述
该jcmd实用程序用于将诊断命令请求发送到JVM。它必须在运行JVM的同一台计算机上使用,并且必须具有用于启动JVM的相同有效用户和组标识符。每个诊断命令都有其自己的参数集。要显示诊断命令的描述,语法和可用参数列表,请使用命令名称作为参数。例如
jcmd pid help command
如果参数包含空格,则必须用单引号或双引号('或")引起来。此外,必须用反斜杠(\)引起单引号或双引号的转义,以防止操作系统外壳程序处理引号。或者,可以用单引号然后是双引号(或用双引号然后是单引号)将这些参数引起来。
如果您将进程标识符(pid)或主类(main-class)指定为第一个参数,则jcmd实用程序会将诊断命令请求发送到具有指定标识符的Java进程,或发送给具有主类指定名称的所有Java进程。您还可以通过指定0为进程标识符将诊断命令请求发送到所有可用的Java进程。
如果在jcmd不带参数或带-l选项的情况下运行,它将打印正在运行的Java进程标识符的列表,其中包含用于启动该进程的主类和命令行参数。jcmd使用-h或-help选项运行将显示工具的帮助消息。
使用以下命令之一作为诊断命令请求:
Perfcounter.print
-f filename
command [arguments]