Windows 11 关闭内存压缩(Memory Compression)
先了解一下(建议先看)
内存压缩是 Win11 的内存管理机制:当物理内存快满时,系统把部分数据压缩存在内存里,而不是直接写到磁盘页面文件,从而减少磁盘读写、提升响应。
⚠️提醒:内存压缩通常是有益的(尤其内存紧张时),关闭它可能导致更频繁地读写页面文件(增加 SSD 写入)、内存不足时更卡。除非你有明确理由(如排查特定问题、内存非常充裕、某些性能测试),否则不建议长期关闭。
一、先查看当前状态
以管理员身份打开PowerShell(右键开始 → 终端(管理员)),执行:
Get-MMAgent看输出里的MemoryCompression:
True= 已开启False= 已关闭
二、关闭内存压缩
管理员 PowerShell 执行:
Disable-MMAgent -MemoryCompression然后重启电脑生效。
重启后再运行Get-MMAgent确认MemoryCompression : False。
三、重新开启(恢复默认)
如果发现关闭后变卡、想恢复:
Enable-MMAgent -MemoryCompression同样重启生效。
四、常见问题
| 问题 | 说明 |
|---|---|
| 执行报错"拒绝访问" | PowerShell 没用管理员身份,右键"以管理员身份运行" |
| 关了没变化 | 必须重启才生效 |
| 关闭后更卡/磁盘占用更高 | 属正常——数据改走页面文件了,建议重新开启 |
| 想彻底管理内存 | 内存压缩由 MMAgent(内存管理代理)控制,别误关其他相关项 |
五、相关:SysMain 服务
内存压缩功能和SysMain 服务有关联。如果Disable-MMAgent后仍看到"System"或压缩进程活动,有些人会连带处理 SysMain:
Win+R → services.msc → 找到 SysMain → 停止 + 启动类型设为禁用⚠️ 但 SysMain 还负责预读取等功能,关闭它是另一件事,不等于关内存压缩。如果只想关内存压缩,用上面的
Disable-MMAgent即可,不必动 SysMain。
六、结合你的情况提醒
你之前一直在关注减少 SSD 写入/发热。这里要注意一个反向逻辑:
- 内存压缩其实是"减少磁盘写入"的——它把数据压在内存里,避免写页面文件
- 关闭内存压缩反而可能增加 SSD 写入(数据转去写 pagefile)
所以如果你的目的是给 SSD 减负,恰恰应该保留内存压缩,而不是关闭它。
一句话总结
管理员 PowerShell 运行Disable-MMAgent -MemoryCompression再重启即可关闭;Get-MMAgent查看状态,Enable-MMAgent -MemoryCompression可恢复。但内存压缩通常有益、还能减少 SSD 写入,除非特殊需求,建议保留开启。
