jcmd 命令

将诊断命令请求发送到正在运行的 Java 虚拟机 (JVM)。

概要

jcmd [-l|-h|-help]

jcmd pid|main-class PerfCounter.print

jcmd pid|main-class -f filename

jcmd pid|main-class command[ arguments]

描述

该jcmd实用程序用于向 JVM 发送诊断命令请求。它必须在运行 JVM 的同一台机器上使用,并且具有用于启动 JVM 的相同有效用户和组标识符。

  • Note:
    要从远程机器或使用不同的标识符调用诊断命令,您可以使用该com.sun.management.DiagnosticCommandMBean接口。有关该DiagnosticCommandMBean接口的更多信息,请参阅 API 文档,网址为http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean.html

如果您jcmd不带参数或使用-l选项运行,它会打印正在运行的 Java 进程标识符列表以及用于启动进程的主类和命令行参数。jcmd使用-h或者-help打印该工具的帮助消息。

  • Note
    该jcmd实用程序可用于与已经运行的 JVM 中的 Java Flight Recorder (JFR) 动态交互。您可以使用它来解锁商业功能,启用/启动/停止飞行记录,以及从系统获取各种状态消息。有关示例列表,请参阅 Java Flight Recorder 运行时指南,网址为http://docs.oracle.com/javacomponents/jmc.htm
    如果您指定进程标识符 ( pid ) 或主类 ( main-class ) 作为第一个参数,jcmd则将诊断命令请求发送到具有指定标识符的 Java 进程或具有指定主类名称的所有 Java 进程。您还可以通过指定0进程标识符将诊断命令请求发送到所有可用的 Java 进程。使用以下之一作为诊断命令请求:

Perfcounter.print
打印可用于指定 Java 进程的性能计数器。性能计数器列表可能因 Java 进程而异。

-f filename
从中读取诊断命令并将其发送到指定 Java 进程的文件的名称。仅与-f选项一起使用。文件中的每个命令都必须写在一行上。以数字符号 ( ) 开头的行将#被忽略。当读取所有行或读取包含stop关键字的行时,文件的处理结束。

command [arguments]
要发送到指定 Java 进程的命令。可以通过向该进程发送命令来获得给定进程的可用诊断命令列表help。每个诊断命令都有自己的一组参数。要查看命令的描述、语法和可用参数列表,请使用命令的名称作为命令的参数help。

  • Note:如果任何参数包含空格,则必须用单引号或双引号 ('或") 将它们括起来。此外,您必须使用反斜杠 ( ) 对单引号或双引号进行转义,以防止操作系统 shell 处理引号。或者,您可以将这些参数用单引号括起来,然后用双引号括起来(或用双引号括起来,然后用单引号括起来)。

Options

选项是互斥的。

-f filename
从指定文件读取命令。仅当您将进程标识符或主类指定为第一个参数时,才能使用此选项。文件中的每个命令都必须写在一行上。以数字符号 ( ) 开头的行将#被忽略。当读取所有行或读取包含stop关键字的行时,文件的处理结束。

-h
-help

打印帮助消息。

-l
打印带有主类和命令行参数的正在运行的 Java 进程标识符列表。

See Also

jps(1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值