MemCheck - 内存监控插件
输出 CraftBukkit/Spigot 内存统计信息
Bukkit / Spigot
作者 Bobcat00
支持版本 1.12 - 1.19
服务器使用量
35
服务玩家数
15
下载量
4,526
插件详细介绍
简介
你是否想知道服务器真正需要多少堆内存?或者想确认主机商是否提供了你购买的服务?其他插件(如 Essentials)也会提供内存统计,但它们显示的可能并非你真正需要的信息。MemCheck 能够实时显示已使用的堆内存量以及总的可用堆空间。
MemCheck 添加了 /mem 命令,用于输出以 MB 为单位的已使用堆内存及其占最大堆大小的百分比,以及总的可用堆内存(MB)。它还提供了 Java “元空间”的使用统计。此外,还会显示 Essentials 计算的当前服务器 TPS、CPU 负载、前一分钟的平均垃圾回收时间以及已加载区块的总数。
在服务器启动时,处理器(线程)数量、总物理内存、最大堆内存、服务器视距、服务器模拟距离、Java 垃圾收集器名称以及 Java 命令行选项都会被写入服务器日志文件。这让服主能够清晰地了解内存使用情况,并判断可用于新对象的剩余内存是过少、过多,还是刚刚好。
功能详情
我发现 Essentials 报告的内存值直接来自 Java,并未真正展示服主需要了解的信息。借助下面这张来自 Stackoverflow 的示意图,解释起来会更容易:
Java 提供且 Essentials 报告的是图中用红色标出的三个值。这并非服主真正需要的。更相关的值是底部用蓝色标出的两个:已使用(程序当前占用的堆内存量)和总可用(堆上可用于分配新对象的内存总量)。下方将展示更多信息。
命令
/mem- 输出当前内存统计信息。请注意,堆内存状态是持续变化的,因此你会看到数值每秒都在变动,这取决于新对象的分配或 Java 垃圾回收器的运行。
输出内容
常规信息:
- TPS - 如果你同时运行了 Essentials,将输出当前 TPS。
- CPU - 以所有可用核心百分比表示的当前 CPU 负载。
- GC - 运行垃圾回收器所需的平均时间,每分钟更新一次。
- Chunks - 所有世界中已加载区块的总数。
堆内存信息:
- Heap used - 你的服务器当前使用的堆空间量。
- Free - 在最大允许值范围内,可用的额外堆空间量。
- Alloc - 当前已分配的堆空间量。如果你指定的
-Xms值小于-Xmx,这个信息很有用,它能告诉你 Java 认为需要多少堆空间。
元空间信息:
- Metaspace used - 你的服务器当前使用的元空间量。
- Free - 如果为元空间设置了最大值,这里会显示剩余可用量。
- Alloc - 当前已分配的元空间量。
权限
memcheck.mem- 使用/mem命令所需的权限。默认授予管理员(op)。
配置
- 无配置文件。
其他事项
- 本插件使用 bStats 统计系统来收集匿名的使用数据。你可以通过修改
plugins/bStats/config.yml全局选择退出。相关统计数据可在 https://bstats.org/plugin/bukkit/MemCheck 查看。
测试支持版本
版本分布
基本信息
插件名称
MemCheck
作者
Bobcat00
平台
Bukkit / Spigot
支持版本
1.12 - 1.19
点赞数
未统计
Modrinth 下载
723
最近版本
1.03
36
1.04-SNAPSHOT
1