MemCheck

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 查看。
测试支持版本
1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19
版本分布
基本信息
插件名称 MemCheck
作者 Bobcat00
平台 Bukkit / Spigot
支持版本 1.12 - 1.19
点赞数 未统计
Modrinth 下载 723
最近版本
1.03 36
1.04-SNAPSHOT 1