MemCheck

输出 Spigot/Paper 内存统计信息

资源图片
# 描述 想知道你的服务器真正需要的堆空间是多少吗?想检查托管提供商是否为你提供了你所支付的服务吗?其他插件,例如 Essentials,会提供内存统计信息,但它们可能不是你真正想要了解的信息。MemCheck 提供实时堆使用的量和总的可用堆空间量。 MemCheck 添加了一个 **/mem** 命令,它以 MB 为单位和作为最大堆大小的百分比输出堆使用的量,以及以 MB 为单位的总可用堆空间量。它还提供了关于 Java "Metaspace" 使用情况的统计信息。作为奖励,会显示 Essentials 计算出的服务器当前 TPS、CPU 负载、上一分钟内的平均垃圾回收时间和已加载区块的总数。 在启动时,处理器的数量(线程)、总物理内存、最大堆、服务器视野距离、服务器模拟距离、Java 垃圾收集器名称和 Java 命令行选项会被写入服务器日志文件。 这使得服务器所有者能够看到正在使用的内存量,以及为附加对象提供的内存是否太小、太大或恰到好处。 # 细节 Essentials 报告的内存值直接来自 Java,这并不能真正显示服务器所有者需要了解的内容。借助以下来自 Stackoverflow 的图表,解释会更容易理解: ![Java 堆结构](https://cdn.modrinth.com/data/cached_images/a56383de8dda45f8baabccde129d14b2ba96abfc.png) Java 提供,Essentials 报告以下三个以红色显示的数值。这并不是服务器所有者真正需要的。更相关的数值是底部显示的两个蓝色数值:已用,这是程序当前使用的堆空间量;以及 totalFree,这是堆上可用于附加对象的可用内存量。 更多信息如下所示。 # 命令 **/mem** - 这会输出当前的内存统计信息。请注意,堆在不断变化,因此你会看到值在秒秒之间发生变化,随着更多对象的分配或 Java 垃圾收集器的运行。 ![MemCheck 的示例输出](https://cdn.modrinth.com/data/cached_images/a8201a16c4868d4cd2dff83802f733fe4e0ef684.png) 输出包括以下内容: * 常规: * **TPS** - 如果你也运行 Essentials,当前 TPS 会被输出。 * **CPU** - 当前 CPU 负载作为所有可用核心的百分比。 * **GC** - 运行垃圾收集器所需的平均时间,每分钟更新一次。 * **Chunks** - 所有世界的已加载区块总数。 * 堆: * **Heap used** - 你的服务器当前使用的堆空间量。 * **Free** - 可用的额外堆空间量,直至允许的最大值。 * **Alloc** - 当前已分配的堆空间量。如果你的 -Xms 值小于 -Xmx,这将很有用。它会告诉你 Java 认为需要的堆空间量。 * Metaspace: * **Metaspace used** - 你的服务器当前使用的 Metaspace 量。 * **Free** - 如果已经给定了 Metaspace 的最大值,则显示免费空间量。 * **Alloc** - 当前已分配的 Metaspace 量。 # 权限 **memcheck.mem** - 使用 mem 命令所需的权限。默认为 op。 # 配置 无。 # 其他 此插件使用 bStats 统计系统提供匿名使用数据。 你可以通过更改 plugins/bStats/config.yml 在全局范围内选择退出。指标可在 [https://bstats.org/plugin/bukkit/MemCheck](https://bstats.org/plugin/bukkit/MemCheck) 查看 ![](https://bstats.org/signatures/bukkit/MemCheck.svg)