3.2. 在正在运行的 JVM 上启动 JDK Flight Recorder

您可以使用 jcmd 实用程序将诊断命令请求发送到正在运行的 JVM。J cmd 包含与 JFR 交互的命令,以及启动转储 和停止 的最基本命令。

要与 JVM 交互,jcmd 需要 JVM 的进程 ID(pid)。您可以使用 jcmd -l 命令来检索,该命令显示正在运行的 JVM 进程 ID 的列表,以及用于启动进程的主类和命令行参数等其他信息。

jcmd 实用程序位于 $JAVA_HOME/bin 下。

流程

  • 使用以下命令启动动态记录:

    $ jcmd &lt ;pid> JFR.start &lt ;options>

    例如,以下命令会启动一个名为 demorecording 的记录,它会保留过去四小时中的数据,其大小为 400 MB:

    $ jcmd <pid> JFR.start name=demorecording maxage=4h maxsize=400MB

其他资源