内存是更快地处理不同任务的重要因素。 由于它是电子存储器,因此价格昂贵,大多数人买不起大容量的 RAM。 此外,操作系统可以支持的 RAM 也有限制。 但是内存压缩特色于视窗11和Windows 10确保您获得 RAM 和页面文件的最佳和平衡使用。 新操作系统具有内存优化功能,其中包含对占用电子内存的数据进行压缩。 本文讨论了旧版 Windows 版本如何管理内存、什么是内存压缩功能以及内存压缩在 Windows 11/10 中的工作原理。
(图片来源:微软)
旧版 Windows 中的内存管理
在 Windows 中,整个内存分为三个不同的部分:
- 随机存取存储器(电子存储器)
- 页面文件(硬盘上 RAM 的扩展)
- 硬盘和其他类型的存储系统
在旧版本中,需要为 pagefile.sys 留出大量硬盘空间,以充当电子内存的扩展。 旧版本 Windows 中的内存管理简单而直接。 将当前运行的应用程序和相关数据存储到电子存储器中,并将最少使用的数据发送到pagefile.sys。 虽然传统的应用程序驻留在主存中,但如果长时间不使用,数据部分通常会被推送到页面文件中。 如果超出了页面文件的容量,则页面文件上的数据将被替换,根据在 Insider Hub 上发帖。 在这种情况下,如果仍在电子存储器中的应用程序需要旧数据,则需要再次从硬盘或其他存储设备将其加载到 RAM 中,这意味着读取或写入数据需要更多时间。
换句话说,应用程序和最新数据将驻留在 RAM 中,当前应用程序经常使用的数据保留在 pagefile.sys 中,并且当必须读取或写入一组新数据时访问硬盘。 这包括页面文件中不存在的数据——可能已被新集替换的数据。
Windows 11/10 中的内存管理 – 应用程序页面文件
在 Windows 11/10 中,内存管理发生了一些变化。 Windows 8/8.1 中有两种类型的应用程序。 传统应用程序仍然按上述方式运行。 当应用程序空闲和 RAM 已满时,其中一部分保留在 RAM 中,而所需的数据则存储到页面文件中。
现代应用程序仅在焦点对准时才运行。 如果您打开应用程序 A 和应用程序 B 并且当前正在处理应用程序 A,则应用程序 B 以及相关数据将被推回页面文件。 这样,应用程序 A 就可以很好地访问内存,并且不需要为每个获取过程访问页面文件。 当您通过关注应用程序 B 将应用程序 A 发送到后台时,应用程序 A 和相关数据将转到页面文件,而应用程序 B 获得对 RAM 的独占访问权限。
这种方法可以节省内存并使应用程序运行得更快。 在 Windows 11/10 中,添加了压缩功能以使其速度更快。 以下部分介绍了它在 Windows 11/10 中的工作原理。
内存管理与Windows 8/8.1相同。 传统的应用程序存储在电子存储器中,而重点应用程序也存储在RAM中。 如果 RAM 由于数据过多而变得拥挤,应用程序和数据会被压缩高达 40% 并容纳在同一内存中。
Windows 11/10 也使用页面文件系统用于存储电存储器的数据。 如果应用程序使用过多数据但间隔较慢,并且电子内存可用空间不足,则其部分数据将被推送到页面文件。 如果应用程序变得激进,数据将从页面文件移回电子存储器,并将其他一些应用程序推送到页面文件,以为当前应用程序腾出空间。 仅在极少数情况下,才会访问硬盘:当要加载一组新数据或应用程序时,或者当 RAM 或页面文件中不存在应用程序所需的数据时。
Windows 11/10 中的内存压缩优化 RAM 使用
Windows 11/10 也有两类应用程序:UWP 和传统应用程序。 传统应用程序单独存储在电子存储器中,而现代应用程序都有自己的堆栈。 当您以尽管压缩但内存不足的方式打开太多应用程序时,可以更轻松地将现代应用程序和相关数据推送到页面文件。
当您使用 Windows 中的内存压缩功能时,它可以节省大约 50% 的页面文件活动(与旧版本的 Windows 相比),因为大多数数据已经以压缩形式在主内存上可用。 当需要应用程序或数据时,将其解压缩并使用。 因此需要保留一部分 RAM 为空以提供未压缩的数据。
即使使用页面文件,Windows 11/10 中的速度也会更快,因为整个应用程序和相关数据都存储为按顺序访问的压缩页面。 当一部分数据被解压缩时,另一部分被发送到主存储器进行处理。 这也节省了时间,并使 Windows 11/10 计算机上的计算速度更快。
如何检查 Windows 中是否启用了内存压缩?
检查内存压缩是否启用或禁用的最简单方法是:
- 打开任务管理器
- 选择顶部的“性能”选项卡
- 点击左侧的内存
- 在右侧面板中,您将看到正在使用(压缩)
- 这表明您的 PC 上启用了内存压缩。
如何在 Windows 11/10 中启用或禁用内存压缩
打开一个提升的 PowerShell 窗口。
要检查内存压缩是否启用或禁用,请执行以下命令:
Get-MMAgent
如果您看到内存压缩为 true,则表示它已启用。 如果您看到 false,则表示它已被禁用。
执行以下命令禁用内存压缩:
Disable-MMAgent -mc
执行以下命令启用内存压缩:
Enable-MMAgent –mc
希望这可以帮助。
现在阅读:Windows 中的系统压缩以及它如何节省设备空间。