内存压缩过程:Windows 10中的高内存和CPU使用率

时间:2020-01-09 10:46:43  来源:igfitidea点击:

Windows 10中的压缩内存功能旨在通过将部分内存页面以压缩形式存储在RAM中,从而提高系统的性能(响应能力)。它有助于减少对硬盘上慢速(与RAM相比)分页文件中的内存页的读/写请求数。即使花费额外的CPU资源来压缩/解压缩所需的数据,也可以更快地从RAM中提取所需的数据。

Windows 10中的压缩内存

最初,负责压缩内存子系统的进程位于系统进程内,这对于解决性能问题不太方便。在Windows 10 1511中,此功能成为一个单独的进程,称为"系统和压缩内存"。

在Windows 10周年纪念版(1607)中,出现了一个单独的进程"内存压缩",该进程被隐藏在任务管理器中。我们可以使用Get-Process PowerShell cmdlet获取有关此过程的信息:

Get-Process -Name "Memory Compression"
处理NPM(K)PM(K)WS(K)CPU ID SI ProcessName ----------------------------- ------- 0 0 1548 380920 1,104.59 1764 0内存压缩

此外,我们还可以使用Process Explorer查看"内存压缩"过程使用的实际内存大小。

我们还可以在任务管理器中获取有关系统使用压缩内存的信息。转到"性能"标签,然后选择"内存"部分。压缩内存使用率的当前值通过"使用中(压缩)"参数的值显示。在我的示例中,使用了4.5 GB,其中373 MB被压缩。要了解系统打包到压缩块中的实际数据大小,请将鼠标悬停在"内存组成"图上:正在使用压缩(373 MB)。压缩内存估计存储了1549 MB的数据,为系统节省了1176 MB的内存。

如我们所见,压缩级别几乎达到了315%,因此节省的费用非常可观。

在大多数情况下,如果计算机可以正常工作并且具有足够的RAM大小,则压缩内存进程可以正常运行,并且不需要管理员采取任何措施。

系统和压缩内存进程高CPU和RAM使用率

有时,系统和压缩内存进程开始使用高达100%的CPU和用户磁盘,或者RAM中的大小开始增加(我们可以在"任务管理器"中看到它)。当然,计算机开始缓慢运行或者挂断。

在这种情况下我们能做什么?

我将为我们提供一些技巧,这些技巧将解决压缩内存过程中PC资源占用过多的问题

  • 尝试暂时禁用系统上的页面文件("无页面文件"选项),重新启动计算机,启用页面文件("自动管理所有驱动器的页面文件大小"选项),然后再次重新启动计算机。
  • 如果仅通过"睡眠"或者"休眠"模式唤醒后才出现由压缩内存导致的计算机负担过重的问题(并且在重新启动后消失),请尝试为磁盘控制器下载并安装最新版本的驱动程序(ACPI/AHCI)/RAID/SCSI),硬盘驱动器和视频卡(来自官方网站)。之后,建议禁用自动驱动程序更新。

如果这些操作没有帮助,则可以尝试禁用压缩内存。

如何在Windows 10中禁用压缩内存

如果要确保Windows 10在不使用压缩内存的情况下稳定运行,可以暂时禁用此功能。为此,请以管理员权限启动PowerShell。让我们确保启用了压缩内存:

Get-mmagent

参数MemoryCompression:True表示已启用压缩内存。

让我们禁用压缩内存:

Disable-MMAgent –mc

并重新启动计算机:

Restart-Computer

系统启动后,观察系统行为。如果性能有所提高,则可以使Windows 10禁用压缩内存。

要启用MemoryCompression,请运行以下命令:

Enable-MMAgent -mc

通常,Windows 10中的压缩内存技术非常有效,不需要任何干预。如果它在计算机上引起任何问题,则可能是系统设置,硬件或者驱动程序出现了一些问题。如有必要,可以完全禁用压缩内存。

在某些情况下,建议用户通过以下操作来解决压缩内存的问题:

  • 禁用" SuperFetch"(services.msc-> SuperFetch->启动类型:已禁用)
  • 在任务计划程序(任务计划程序->任务计划程序库-> Microsoft-> Windows-> MemoryDiagnostic-> RunFullMemoryDiagnostic(检测并缓解物理内存RAM中的问题)->禁用中,禁用全内存诊断RunFullMemoryDiagnostic job

在某些情况下,这些技巧有助于通过压缩内存过程消除计算机的高负荷,但是同时,禁用了用于优化Windows性能的基本子系统,这可能导致系统性能出现其他问题。