- 版权类型
- 转载
- 插件中文名称
- 火花
- 插件英文名称
- spark
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- PufferFish
- Leaves
- 语言支持
- 多语言
- 适配版本(Java)
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
Spark 是一个用于 Minecraft 客户端、服务器和代理的性能分析工具。
有用的链接
它的功能是什么?
Spark 由多个组件组成,每个组件的详细信息如下:
- CPU 分析器:诊断性能问题。
- 内存检查:诊断内存问题。
- 服务器健康报告:跟踪服务器整体健康状况。
CPU分析器
spark 的分析器可用于诊断性能问题,如“卡顿”、低Tps、高 CPU 使用率等。
它具有以下特点:
- 轻量级 - 可以在生产环境中运行,影响极小。
- 易于使用 - 无需配置或设置,只需安装插件/模组。
- 快速产生结果 - 仅需运行约30秒即可提供有用的性能问题报告。
- 可定制 - 可调整以针对特定线程、以特定间隔采样、仅记录“卡顿”时期等。
- 高度可读 - 简单的树状结构便于分析和解释。查看器还可以应用去混淆映射。
它的工作原理是采样系统活动的统计数据,并根据这些数据构建调用图。然后在在线查看器中显示调用图,供用户进一步分析。
有两种不同的分析器引擎:
- 本地 AsyncGetCallTrace + perf_events - 使用 async-profiler(仅在 Linux x86_64 系统上可用)
- 内置 Java ThreadMXBean - sk89q 提供的流行分析器 WarmRoast 的改进版本。
内存检查
spark 包含许多工具,可用于诊断服务器的内存问题。
堆摘要 - 监控并分析服务器内存的基本快照
- JVM 堆的简单视图,查看每个类的内存使用情况和实例计数
- 不打算完全替代正式的内存分析工具。(见下文)
堆转储 - 监控服务器内存的完整(HPROF)快照
- 转储(并可选择压缩)JVM 堆的完整快照。
- 然后可以使用常规分析工具检查此快照。
GC 监控 - 监控服务器上的垃圾回收活动
- 允许用户将 GC 活动与游戏服务器挂起相关联,并轻松查看其耗时及释放的内存量。
- 观察垃圾回收的频率/持续时间,以确定使用哪些 GC 调优标志。
服务器健康报告
spark 可以报告总结服务器整体健康状况的多项指标。
这些指标包括:
- TPS - 每秒Tick数,比 /tps 命令显示的更精确
- Tick持续时间 - 每个Tick所需的时间(最小、最大和平均值)
- CPU 使用率 - 服务器进程和整个系统使用的 CPU 量
- 内存使用量 - 进程使用的内存量
- 磁盘使用量 - 系统空闲/使用的磁盘空间
除了提供Tick平均值,spark 还可以监控单个Tick——当单个Tick的持续时间超过某个阈值时发送报告。这可以用来识别趋势和性能问题的性质,以及它们相对于其他系统或游戏事件的关系。
使用教程
- 要安装,只需将 spark.jar 文件添加到服务器的插件目录中。
- 关于如何使用命令的信息可以在文档中找到。