/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(署名、非商业性使用、相同方式共享)。