内存管理是操作系统的主要功能之一,它控制和维护着每个系统进程的内存分配。从 windows 10 version 1507 开始,microsoft 将内存压缩功能集成到了 windows 内存管理流程中。这种内存管理技术旨在通过压缩存储在 ram 中的某些信息来减少内存使用。
内存压缩功能在 windows 11 和 10 操作系统中默认启用,也可以随时禁用。
什么是 windows 内存压缩
在深入了解 windows 内存压缩的本质之前,首先必须对「分页」有一定的了解:
- 分页是一种过程,它使用辅助内存或磁盘存储来减轻 ram 的工作负载。当系统检测到 ram 空闲空间不足时,会将一些系统进程的部分区域(称为页面)转移到硬盘上。
- 「页面」文件默认位于 windows 的系统卷中,以文件名为
pagefile.sys
的隐藏文件形式存在。 - 「页面」文件包含系统很少使用的进程的信息。只有在需要时,windows 才会从该文件中检索信息。
- 通过这种分页过程,可以节省 ram 空间。
pagefile.sys 页面文件
但是,「分页」有一个不可忽视的缺点:在硬盘上进行连续的读写过程需要时间,会导致 windows 变慢。而内存压缩技术通过压缩不经常使用的「页面」来解决这个缺点,而不是将它们写入磁盘。这样可以减少对磁盘的读写频率,以显著提高响应速度。
内存压缩为 windows 进程提供了更多的 ram 空间,使进程可以驻留在 ram 中,并且能够允许更多的任务同时运行。
windows 内存压缩原理概述
内存压缩的基本概念是:压缩当前未被任何系统进程或应用程序使用的内存页面,以释放主内存,供其他进程使用。这样可以减少系统在 ram 和磁盘上的页面交换频率,以减少缓慢且占用资源的交换过程。
windows 内存压缩示意图
ram 的访问速度远快于磁盘,因此,内存压缩可以在不显著降低性能的情况下增加 ram 可用空间:
- 当一个页面需要进行交换时,它首先会被压缩并存储在 ram 中。
- 当再次需要时,该页面会被解压缩并返回,整个过程比将页面交换到磁盘要快得多。
简单来说就是:
ram 速度 > 内存压缩(压缩和解压)速度 > 磁盘页面文件交换速度
windows 内存压缩大小
- 与没有内存压缩功能的 windows 版本相比,windows 10 version 1507 及更高版本 windows 仅有大约 50% 的情况将交换页面写入磁盘。
- windows 还能够利用 cpu 核心进行大量压缩和解压的读/写并行操作。
启用还是禁用 windows 内存压缩
内存压缩可以提供显著的性能优势,减少 ram 使用量并降低访问时间。对于 ram 有限的 windows 设备来说,这是一个很好的选择。然而,由于内存页面的压缩和解压过程有时需要大量的 cpu 资源,该功能也可能增加额外的系统开销。
尽管 microsoft 不建议禁用 windows 内存压缩功能,但这取决于硬件资源和用户偏好:
- 对于 ram 有限的旧设备,内存压缩可以为更多应用程序和进程腾出 ram 空间,但也需要考虑 cpu 性能和负载。
- 新一代的 cpu 可能会高效处理压缩/解压过程。然而,如果内存管理过程消耗了大量 cpu 资源,也可以考虑禁用内存压缩。
- 如果已经有足够的 ram,但内存压缩导致设备出现性能问题,也可以选择禁用它。
- 在某些系统上,无论启用还是禁用内存压缩,性能上可能没有明显的差别。
如何启用或禁用 windows 内存压缩
前文已经提到,windows 11 和 10 默认启用了 windows 内存压缩功能。但是,用户可以随时禁用或重新启用它。以下是操作步骤:
1、在「开始」菜单中搜索 powershell
– 并选择「以管理员身份运行」。
2要查看内存压缩的工作状态,请运行以下命令:
get-mmagent
查看 windows 内存压缩状态
3、可以运行以下命令启用或禁用内存压缩:
disable-mmagent -mc
禁用 windows 内存压缩enable-mmagent -mc
启用 windows 内存压缩
禁用和启动 windows 内存压缩
发表评论