/perf

/perf

来源:Commands/perf;原文修订 ID:2814129。

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

收集游戏信息和性能指标,例如游戏刻时长、已用堆大小及其他更详细的统计。只能在专用服务器执行;本地托管世界中使用 F3+L 运行性能分析器。

用法

性能分析会话停止后,会在 .minecraft/debug/profiling 创建 ZIP 文件,结构如下:

yyyy-MM-dd_HH.mm.ss-<world name>-<game version>.zip
  system.txt
  server/
    deviations/
      ticktime/
        <current tick>@yyyy-MM-dd_HH.mm.ss.SSS.txt
    levels/
      <namespace>/
        <dimension name>/
          block_entities.csv
          chunks.csv
          entities.csv
          entity_chunks.csv
          example_crash.txt
          stats.txt
    metrics/
      cpu.csv
      event_loops.csv
      jvm.csv
      mailboxes.csv
      ticking.csv
    classpath.txt
    gamerules.txt
    modules.txt
    profiling.txt
    server.properties.txt
    stats.txt
    threads.txt

各文件说明:

  • block_entities.csv:世界中方块实体列表,格式为 x,y,z,type。
  • chunks.csv:区块信息列表,格式为 x,z,level,in_memory,status,full_status,accessible_ready,ticking_ready,entity_ticking_ready,ticket,spawning,entity_count,block_entity_count。
  • entities.csv:世界中实体列表,格式为 x,y,z,uuid,type,alive,custom_name。
  • entity_chunks.csv:维度中已载入区块列表,格式为 x,y,z,visibility,load_status,entity_count。
  • example_crash.txt:示例崩溃文件。
  • 两处 stats.txt:部分统计信息。
  • classpath.txt:游戏正在使用的外部 JAR 文件路径。
  • gamerules.txt:游戏规则及其值的纯文本列表,格式为 <gamerule>=<value>。
  • modules.txt:游戏正在使用的外部模块。
  • profiling.txt:性能分析器结果。
  • server.properties.txt:当前的 server.properties。
  • threads.txt:所有正在运行的线程。

语法

  • perf start:开始一次持续 10 秒的性能分析记录。
  • perf stop:在 10 秒结束前提前停止记录。

结果

命令不完整时无法解析。/perf start 时已有性能分析会话运行,或 /perf stop 时没有运行中的会话,均失败;其他情况成功。

输出

失败时成功次数不适用、success=0、result=0;成功时成功次数不适用、success=1、result=0。


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