Spark:如何读懂性能分析报告
拆解 Spark 报告的结构:调用树、耗时占比、找出罪魁祸首及典型负载模式。
更新于 2026年8月13日
抓取分析报告 — Spark。下面介绍如何看懂结果。
打开链接后您会看到什么
一棵带百分比的调用树。最上方是服务器的主线程,下方是它由哪些工作组成。
您需要沿着最粗的分支从上往下读,直到看到熟悉的名字:某个插件、某个模组或某个原版系统。
典型特征
| 占比很高的分支 | 含义 |
|---|---|
net.minecraft.world.entity | 实体过多 — 生物 |
Villager、Brain、GoalSelector | 村民与寻路 — 村庄 |
ChunkMap、ServerChunkCache、ChunkGenerate | 区块生成 — 预生成 |
HopperBlockEntity | 漏斗 — 农场 |
RedstoneTorch、TickNextTick | 红石 — 红石卡顿 |
| 插件名称 | 插件 — 插件导致服务器崩溃 |
GC、SafepointBlocker | 垃圾回收 — GC |
百分比会误导人
报告中的 100% 是全部执行时间,其中包含空闲时间。不要只看占比,还要看每 tick 的绝对耗时,并与 MSPT 对比 — TPS。
坐标
对于实体和方块,Spark 会显示位置。这是一个现成的地址,告诉您该去哪里查看——通常您会在那里找到某个玩家的农场。
内存
/spark heapsummary 会显示堆内存被什么占用:如果两次快照之间某个插件的对象数量持续增长,那就是内存泄漏 — 内存。
Minecraft 托管您离线时服务器仍在运行创建服务器
