跳到正文

MemorySweeper

作者:Munichkid

Aggressive chunk unloading to prevent memory creep during exploration

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。
 

 

MemorySweeper

Aggressive chunk unloading to prevent memory creep during exploration.

MemorySweeper forces distant chunks to unload immediately instead of waiting for vanilla’s slow ticket-expiry mechanism. Designed for large modpacks where exploration causes memory to climb and never come back down.

How It Works

Vanilla unloads ~4 chunks per second. When you explore, 20-30 new chunks load per second — the gap causes memory to rise indefinitely.

MemorySweeper hooks into ChunkMap.processUnloads() and:

1.  Scans all loaded chunks every 0.5 seconds

2.  Identifies chunks beyond view distance + 1

3.  Pushes them directly into the pending-unload queue (bypassing ticket delays)

4.  Raises the per-tick unload limit from 200 to 800

 

 

  Exploration without MemorySweeper:  4,000-5,500 chunks loaded
Exploration with MemorySweeper: 2,200-2,800 chunks loaded (40-50% reduction)

 

Performance

● MSPT overhead: <1ms per scan

● No GC spikes, no tick stalling

● Compatible with all chunk-related mods (FTB Chunks, etc.)

Installation

1.  Download the .jar from Releases or CurseForge / Modrinth

2.  Place in mods/ folder

3.  Requires Minecraft 1.20.1 + Forge 47.x

No dependencies. Works on both client (single player) and dedicated server.

Configuration

No configuration needed. Works out of the box. If you want to tune:

Parameter

Default

What it does

Scan interval

0.5s

How often to scan for distant chunks

Unload threshold

view distance + 1

How close a chunk must be to stay loaded

Batch size

128

Max chunks added to unload queue per scan

Unload limit

200→800

Per-tick processing limit inside processUnloads

Compatibility

Tested and safe with:

● FTB Chunks, FTB Quests

● Applied Energistics 2

● Mekanism

● Industrial Upgrade

● JEI, Jade, Spark

Building from Source

 

 

./gradlew build

 

Output: build/libs/memorysweeper_dev-<version>.jar

License

MIT — see LICENSE

 

常见问题

MemorySweeper 支持哪些 Minecraft 版本?

MemorySweeper 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

MemorySweeper 怎么安装?

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

评论

登录后评论和评分