/jfr

/jfr

来源:Commands/jfr;原文修订 ID:3662194。

本命令仅适用于 Java 版;权限等级为 4。

启动或停止使用 Java Flight Recorder(JEP 328)及若干自定义事件进行性能分析。

用法

分析期间会记录客户端运行时 CPU、内存和线程使用情况等信息,并将结果保存为 .minecraft/debug 文件夹中的 .jfr 文件。

可以使用 VisualVM 或 JMC 等外部工具打开该文件。文件包含 JVM 和操作系统事件,以及以下 Minecraft 自定义事件:

  • **Network(网络)**组:
    • Network Packet Received 和 Network Packet Sent:网络数据包事件,包含协议 ID、数据包 ID、传输方向(发送至服务端或客户端)、远程地址及字节大小。协议和数据包 ID 列表见Java 版协议。
    • Network Summary:接收和发送的数据包数量及总字节大小摘要。
  • **Storage(存储)**组:
    • Region File Read 和 Region File Write:区域文件事件,包含区域与区块位置、维度和压缩算法类型。
  • **Ticking(游戏刻)**组仅有一个自定义事件:
    • Server Tick Time:每秒采样一次的平均服务端游戏刻时长。
  • **World Generation(世界生成)**组:
    • Chunk Generation:生成单个区块各阶段的耗时。
    • Create/Load World:载入世界时的初始载入耗时。

除 .jfr 文件外,还会生成一份 JSON 摘要报告,同时写入日志文件和 debug 文件夹。

语法

  • jfr start:开始 JFR 性能分析。
  • jfr stop:停止 JFR 性能分析。

结果

条件 Java 版结果
命令不完整或任意参数指定不正确 无法解析
/jfr start 时已有 JFR 分析器运行 失败
/jfr stop 时没有运行中的 JFR 分析器 失败
其他情况 成功

输出

条件 成功次数 success result
失败 不适用 0 0
成功 不适用 1 1

中文翻译/改编自 Minecraft Wiki 原条目,原文作者可由页面历史查看;译文遵循 CC BY-NC-SA 3.0(署名、非商业性使用、相同方式共享)。