系统极客一直在努力
专注操作系统及软件使用技能

Windows 11 内存压缩详解,怎么关闭或开启

Windows

Windows 11 内存压缩(Memory Compression)是一项核心的内存管理技术,能帮助系统更高效地利用物理内存。当内存即将耗尽时,Windows 就会把「非活跃数据」写入到速度较慢的磁盘「分页文件」中。

而一旦开启了「内存压缩」功能,系统就会优先对这些不活跃的「内存数据页」进行压缩,让更多的数据能够暂存在内存里,从而提升整体响应速度和运行效率。

01. 什么是 Windows 11 内存压缩

「内存压缩」本质上是一种「虚拟内存压缩」技术,通过压缩数据来减少对辅助存储(比如 HDD 或 SSD)的分页请求量和大小。

对于物理内存有限的设备来说,它可以显著提升系统的响应速度、多任务处理能力,以及整体稳定性。并减少对硬盘进行「页面交换」的频率,大幅改善 I/O 效率。

1.1 「分页文件」的局限

  • 在 Windows 11 中开启虚拟内存功能后,当系统检测到内存不足时,就会把一些使用频率较低的数据,临时转存到硬盘上的「分页文件」。
  • 这个「分页文件」默认存放在 Windows 系统盘的根目录下,是一个名为pagefile.sys隐藏系统文件
pagefile.sys 分页文件
pagefile.sys 分页文件

说白了,这就是当内存不够时,「假装」pagefile.sys是内存的一部分来使用。把暂时用不到的数据先搬进去(腾出内存空间),需要的时候再从硬盘中提取回来。

那么问题来了:硬盘的读写需要时间,而且速度要远低于内存。频繁地在内存和pagefile.sys之间「搬运数据」,会严重拖累系统的运行速度。

1.2 Windows 内存压缩机制

为了尽量减少把内存数据搬进硬盘,微软从 Windows 10 Version 1507 开始,就默认启用了「内存压缩」功能,Windows 11 也延续了这一设计。

Windows 内存压缩示意
Windows 内存压缩示意

其核心机制大致如下:

  1. Windows 内存管理器会自动识别出不常访问的「内存页」,并在物理内存(RAM)内部,对这些「页面」进行压缩。
  2. 压缩后的「数据页」仍然保留在内存中,不会立即写入到硬盘上的「分页文件」。
  3. 压缩后释放出的空间会归还给「可用内存池」,为活跃进程腾出更多资源。
  4. Windows 11 的内存管理器会通过一套复杂的内部机制,来追踪和管理这些「压缩页面」。例如,从页面表项(PTE)生成 Store Manager Key (SM_PAGE_KEY),再经过多层级结构查找,最终在专用进程中,生成压缩页面的虚拟地址。
  5. 此外,还有一个叫「页面合并」(Page Combining)的协同机制,可能会在「内存压缩」开启时自动激活。它会周期性扫描物理内存中内容相同的「页面」,并将它们合并,进一步节省内存占用。

1.3 性能影响

当然,「内存压缩」虽然很香,但也会带来额外的 CPU 性能开销:

  • CPU 在执行压缩与解压操作时,会产生额外的计算负载。
  • 但这种 CPU 开销,要远小于频繁读写pagefile.sys所造成的 I/O 延迟。

一句话总结:「内存压缩」虽然多用了点 CPU,但换来的是极大的速度提升。相比从硬盘「来回搬运数据」,压缩/解压那点儿性能损失,几乎可以忽略不计。也正是因为这个原因,微软才敢在 Windows 11 中默认开启这项功能——不然早就被用户吐槽「卡成 PPT」了。而且单就读写速度来看:

物理内存 > 内存压缩(压缩和解压)> 磁盘中的分页文件

02. 查看内存压缩开启状态

2.1 使用「任务管理器」

1Ctrl + Shift + ESC快捷键,打开「任务管理器」。

2进入「性能」>「内存」选项卡。

3在右侧的内存使用详情中,查看「使用中」旁边是否有「已压缩」字样。

4如果有,说明 Windows 11 正在使用内存压缩技术,并能看到压缩保存的大小。

使用「任务管理器」查看内存压缩开启状态
使用「任务管理器」查看内存压缩开启状态

2.2 使用 PowerShell

1右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开 Windows 终端。

2Ctrl + Shift + 1快捷键,切换到 PowerShell。

3执行以下命令并回车执行:

Get-MMAgent

4查看返回结果中的MemoryCompression项:

  • True:表示已启用。
  • False:表示已关闭。
查看 Windows 内存压缩开启状态
查看 Windows 内存压缩开启状态

在输出结果中,还可以看到其他内存管理功能的状态,比如页面合并(PageCombining)、应用启动预取(ApplicationLaunchPrefetching)等,适合进阶用户快速诊断系统行为。

03.打开或关闭内存压缩

3.1 优势与权衡

简单来说,「内存压缩」就是一笔「用 CPU 换速度」的划算交易。对于大多数用户,尤其是搭载中高端 CPU 的设备,开启它才是最佳选择。

但在一些特殊场景下,比如使用老旧 CPU、虚拟机环境,或者追求极致低延迟的高性能应用场景,关闭反而可能会带来更加稳定的体验。

类别优势权衡(潜在缺点)
内存管理提高 RAM 利用率压缩比率有限
系统性能减少磁盘 I/O增加 CPU 资源消耗
提升系统响应速度、多任务处理能力可能影响弱 CPU 或高性能应用场景
降低系统卡顿和崩溃风险
硬件/能耗延长 SSD 寿命、降低能耗

3.2 打开或关闭内存压缩

1右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开 Windows 终端。

2Ctrl + Shift + 1快捷键,切换到 PowerShell。

3根据你的需求,执行以下命令:

  • 启用内存压缩
Enable-MMAgent -MemoryCompression
  • 关闭内存压缩
Disable-MMAgent –MemoryCompression

4内存压缩依赖于 SysMain 服务,启用或禁用之后,建议重启该服务(最好是重启系统):

Restart-Service SysMain
在 Windows 11 中打开或关闭内存压缩
在 Windows 11 中打开或关闭内存压缩

04. 内存压缩和虚拟内存的区别与联系

要真正理解「内存压缩」机制,就得把它放在整个 Windows 虚拟内存管理体系中来看,搞清楚它和传统「分页文件」之间的关系——它们并不是互相取代,而是协同、互补。

  • 「内存压缩」其实是虚拟内存管理机制中的一个「性能优化层」,相当于在物理内存(RAM)和磁盘上的「分页文件」之间,又加了一层「高速缓冲区」。
  • 当系统面临内存压力时,Windows 会按照一套优先级策略,来管理内存:
    • 第一步:先将不活跃的「内存页」在 RAM 内部进行压缩,腾出更多可用空间;
    • 第二步:当压缩也无法缓解内存紧张时,才会把更「冷数据」写入磁盘上的pagefile.sys

这种分层级的内存管理策略,能让数据尽可能地留在速度最快的物理内存中——哪怕是以压缩形式存在,其读取速度也要远高于从 HDD 或 SSD 上重新加载。

这样一来,系统大幅减少了对磁盘的频繁读写,有效避免了 I/O 瓶颈带来的卡顿现象,整体操作也会更跟手、更流畅。

赞(42)
分享到

评论 抢沙发