跳到正文

MemGuard

作者:SeishiroNagi

通过去重 NBT 字符串并监控内存使用情况,降低大型整合包和服务器的内存占用,且不会因强制 GC 而卡顿。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

MemGuard

适用于模组版 Minecraft 的轻量级内存助手。
去重重复的 NBT 字符串并监控堆内存 — 全程不会卡住游戏。

Minecraft 1.20.x Minecraft 1.21.x Forge NeoForge Fabric


🆕 Forge v1.0.5 — 不再出现卡顿峰值

较早的 Forge 版本(1.0.3 及更早版本)每 5 分钟以及每次上传纹理图集后,都会强制执行完整的垃圾回收。在大型整合包中,这意味着每隔几分钟就会短暂卡顿一次。1.0.5 版本移除了所有强制 GC:在一个包含 364 个模组的整合包中测试后,每 5 分钟出现一次的 609 ms 卡顿已消失。如果你在 Forge 上使用 MemGuard,请更新。

MemGuard 的功能

功能 说明
NBT 字符串去重 简短且重复出现的 NBT 字符串(物品 ID、键、枚举名称)只保留一个实例,而不是存储成千上万份。无锁且限制大小,因此绝不会拖慢其他线程。
内存监控 将简短的内存状态写入日志,并在堆内存使用量达到风险水平时发出警告,让你知道整合包是否需要更多 RAM 或更低的视距。
不强制 GC MemGuard 从不调用 System.gc()。JVM 自带的垃圾回收器已经会在合适的时机运行。

MemGuard 是一款辅助工具,并非万能方案:它不保证特定的 FPS、MSPT 或 RAM 数值。若要处理内存泄漏,请搭配 AllTheLeaks 或 FerriteCore 等模组使用。

支持的版本

加载器 Minecraft Java 最新版本
Forge 1.20 – 1.20.6 17+ v1.0.5
NeoForge 1.21.x 21+ v1.0.4
Fabric 1.21.x 21+ v1.0.1(即将推出包含相同修复的更新)

请查看“文件”选项卡,确认各版本对应的具体构建版本。

兼容性说明

  • 可与 FerriteCore 和 AllTheLeaks 一起使用。
  • 可安全地与 -XX:+DisableExplicitGC 一起使用(服务端整合包中很常见)。
  • 如果日志提到缺少机械动力的类,请检查机械动力及其附属模组是否使用同一更新系列(Update 5 搭配 Update 5 附属模组,Update 6 搭配 Update 6 附属模组)。这并非由 MemGuard 导致。

快速安装

  1. 为你的 Minecraft 版本安装对应的加载器。
  2. 将适用于该加载器的 MemGuard jar 文件放入 mods 文件夹。
  3. 启动游戏,并在 latest.log 中查找 [MemGuard] 条目。

支持项目

如果 MemGuard 对你的整合包有帮助,不妨考虑打赏 — 让咖啡 ☕ 不断档,也让修复持续推出!

在 Ko-fi 请我喝杯咖啡

发现问题?请留下评论并附上你的 latest.log — 每一条报告都有帮助。💙

常见问题

MemGuard 支持哪些 Minecraft 版本?

MemGuard 支持 Minecraft Java 版 1.20–1.21.11,共 19 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

MemGuard 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

SeishiroNagi 的其他作品

查看全部 →