ModProfiler

ModProfiler

一个简单的游戏内GUI驱动的性能分析器,便于查看导致服务器不稳定的原因。TPS、CPU、TICK检查,全部存储并记录。

实用

AipocsHouse ModProfiler

一个用于 Hytale Java 模组的低开销统计型 CPU 和内存分配分析器。

ModProfiler 每 100 毫秒采样一次 JVM 线程活动,将可见的堆栈帧归因于已加载的模组 JAR,并将统计数据存储在临时内存 SQLite 数据库中。不会写入任何 JSON 统计文件,所有收集的数据在服务器停止时都会被丢弃。

功能特性

  • 游戏内分析器 GUI,自动每两秒刷新
  • 针对已加载的非 Hytale Java 模组的全高滚动表格
  • 先按一分钟 CPU 排序,再按一分钟分配率排序,最后按 tick CPU 排序
  • 最近 10 秒、一分钟和五分钟的 CPU 平均值
  • 峰值采样 CPU
  • 每秒分配率
  • 世界/tick 线程 CPU 归因
  • 每个模组的当前及峰值采样线程数
  • 样本数量和置信度评级
  • 已加载类数量
  • 最热门的采样方法
  • 服务器 TPS 和 MSPT
  • JVM 堆、垃圾回收和活动线程统计
  • 整个进程的 CPU 和分析器开销报告
  • 每个指标的纯文本换行悬停帮助
  • 控制台每分钟输出一次热门模组报告

命令

  • /profiler — 打开分析器 GUI
  • /modprofiler/profiler 的别名
  • /profiler reset — 清除已收集的统计数据
  • /profiler rescan — 重建已加载模组的类归属

/modprofiler 别名也支持 resetrescan 操作。

权限

aipocshouse.modprofiler.use

Hytale 服务器操作员可通过默认权限系统获得访问权限。由于该命令使用 Hytale 的中央 PermissionHolder 检查,HyperPerms 和 LuckPerms/LuckyPerms 可以将同一权限节点授予管理员组。

理解这些数字

  • CPU 百分比使用单核利用率:100% 表示一个 CPU 核心被完全占用。
  • ALLOC / SEC 是模组创建 Java 对象的速率。这是内存流量,不是保留的内存所有权。
  • THREADS N/P 表示当前不同的采样线程数和观测到的最高数量。共享的 Hytale 或执行器线程可能出现在多个模组中。
  • 采样是统计性的。采样间隔之间的极短工作可能会被遗漏。
  • 共享库框架可能被归因于最近的可见拥有模组框架。

普通的 Hytale 插件无法可靠地测量保留的堆所有权、每个抛出的异常或精确的每模组文件/网络 I/O。这些测量需要更深入的 JVM 代理插桩,并会带来显著更高的开销。