Перейти к содержимому
Mineforgian

MemGuard

Reduces RAM usage in large modpacks and servers by caching NBT strings, monitoring memory usage, and triggering garbage collection at optimal times.

14K загрузок12 подписчиковLicenseRef-All-Rights-Reservedfabricforgeneoforge

Обновлён 3 июня 2026 г. · опубликован 21 февраля 2026 г.

MemGuard

Lean memory behavior for long Minecraft sessions.

MemGuard is a lightweight utility mod for Fabric / Forge / NeoForge (Minecraft 1.21.1) focused on reducing avoidable allocations and making memory pressure easier to observe.

What MemGuard does

1. Reuses repeated short NBT strings

  • Hook: NbtString.of(...)
  • Repeated short values are reused through an LRU cache (up to 2048 entries).
  • This reduces duplicate object allocations for common IDs/tags in larger modpacks.

2. Logs periodic heap snapshots

  • Heap usage is sampled from server tick context.
  • Warning logs are emitted when configured usage thresholds are exceeded.
  • Intended for visibility and troubleshooting, not as a direct performance claim.

3. Tracks texture-atlas lifecycle (client)

  • On atlas upload completion, MemGuard logs heap-used values in debug context.
  • This helps correlate load phases with memory behavior.

Technical notes

  • Uses mixin hooks for targeted behavior (NbtCacheMixin, ServerChunkManagerMixin / ChunkCacheMixin, TextureCacheMixin).
  • No native code, no unsafe memory access.
  • System.gc() is not used to force garbage collection.

Important accuracy notes

  • MemGuard does not guarantee fixed FPS/MSPT/MB improvements.
  • Real impact depends on modpack size, entity/world state, JVM vendor/flags, and session length.
  • Expected benefit is typically higher in medium/large packs with repeated NBT patterns.

Reproducible evaluation (recommended)

To evaluate MemGuard for your own setup, compare baseline vs. MemGuard under identical conditions:

  1. Same Java version, JVM args, mod list, world seed, and config.
  2. Same runtime window (recommended: 30-60 minutes per run).
  3. At least 3 baseline runs + 3 MemGuard runs.
  4. Collect comparable metrics:
  • p50/p95 MSPT (spark or similar)
  • heap usage trend from logs
  • allocation/GC event data (JFR or similar)
  1. Compare distributions (median/p95), not single spikes.

Installation

Fabric

  1. Install Fabric Loader (0.16+)
  2. Install Fabric API
  3. Place MemGuard jar in mods/

Forge / NeoForge

  1. Install the matching loader for your Minecraft version
  2. Place MemGuard jar in mods/

Compatibility

  • Designed to work alongside common optimization mods.
  • As with any mixin-based mod, test your exact modpack before production deployment.

Версии

ВерсияКаналИграЗагрузчикиДатаСкачать
1.0.4Релиз1.21.1neoforge3 июня 2026 г..jar (2 КБ)
1.0.2Релиз1.21.8, 1.21.9, 1.21.10, 1.21.11fabric5 апреля 2026 г..jar (8 КБ)
1.0.2Релиз1.21.8, 1.21.9, 1.21.10, 1.21.11neoforge5 апреля 2026 г..jar (7 КБ)
1.0.3Релиз1.20.3, 1.20.4, 1.20.5, 1.20.6forge3 апреля 2026 г..jar (9 КБ)

Ченджлог

1.0.4Релиз1.21.1 · 3 июня 2026 г.
  • Fixed NeoForge 1.21.1 compatibility with Create 6 by removing unsafe mixin hooks.
  • Removed NBT, chunk, and texture-atlas mixins from the NeoForge build to avoid conflicts in large modpacks.
  • MemGuard now runs as a lightweight heap monitoring mod for this NeoForge release.
  • Tested server startup with NeoForge 1.21.1, Create 6.0.6, Flywheel 1.0.4, and Ponder 1.0.56.

Полная история изменений — на Modrinth.

Комментарии

Загружаем…