当我有足够的可用时,为什么Windows 10会压缩内存?


1

(编辑:我被要求解释为什么我的问题不是这个问题的重复。我认为原因在于阅读这两个问题是显而易见的,但总结一下:我没有内存泄漏。我确切知道什么是使用我的记忆。我想知道为什么Windows选择压缩我的内存(因此使用CPU周期并使我的系统缓慢且无响应),当我的系统似乎有足够的内存来将整个应用程序占用空间存储在未压缩的内存中时。)

我使用定制和内存饥饿的应用程序进行了大量的科学/工程计算模拟。在8tb的超级计算机意义上,也许不是内存饥渴,但内存在“超过word / email / youtube甚至chrome”的意义上都很饥渴。从历史上看,我的工作集占用了大约4-30 GB的RAM。

自周年纪念日更新以来,我的机器遇到了严重的性能问题,在调查时我注意到窗口看起来相当积极地压缩内存。例如,在打开特定模型时,我会遇到这样的情况:

在此输入图像描述

只是总结一下截图中的相关要点:

  • 正在使用15388 MB内存
  • 压缩6855 MB内存
  • 如果未压缩,则使用16657 MB
  • 16.6 GB的内存空闲
  • 总共32 GB的内存

简而言之:如果我没有压缩,根据我的理解,我的内存要求将是15388-6855 + 16657 = 25190 MB。这比我的可用内存少。

我经常注意到,在响应速度降低的时候,我的CPU正在燃烧循环进行内存压缩,如下所示: 在此输入图像描述

我知道内存使用的概念是非常模糊的,因为共享页面,保留内存,写入时复制等等功能,但对我来说,这种情况看起来就像我不必要地浪费CPU周期和系统响应。我的愿望是不执行任何内存压缩,而是使用我可用的RAM。

我的问题是:

  • 有什么我误解的东西解释了Windows 10正在做什么(因为当前的行为似乎是不合理的)?
  • 自周年纪念日更新以来,内存压缩的行为/政策是否发生了变化?我问,因为自更新以来我才开始遇到这些性能问题。
  • 有没有办法禁用内存压缩?我试过这里描述的技术没有任何运气。

完全披露:这个问题的一个版本被发布到微软论坛但只收到了罐头回复,所以我在这里重新发布。


因为Windows 10 WMM使用压缩,与系统所具有的大量系统内存无关。你认为你到底有什么问题?无法禁用WMM所做的压缩
Ramhound 2016年


我的问题如帖子中所述。我有32GB的内存。它使用15388 MB的内存。其中压缩6855 MB的内存。它正在使用非常大量的CPU周期来执行此压缩,这会使我的应用程序变得缓慢且无响应。对我来说,更明智的行为是使用我所有的可用内存(这将需要25190 MB)并且不浪费CPU周期不必要地压缩内存。
fostandy 2016年

另外你的意思是'WMM使用压缩,与我们的系统有多少系统内存无关'?对于WMM来说,没有考虑系统内存的压缩策略/行为似乎相当疯狂。
fostandy 2016年

1
@fostandy - Windows 10 WMM将始终压缩其管理的内存,没有任何方法可以禁用它,并且它会发生无关紧要的内存。它是Windows 10的核心功能,无法禁用。“是使用非常大量的CPU周期来执行此压缩” - NO不是。“自周年纪念日更新以来,我的机器遇到了严重的性能问题” - 这证明使用压缩的WMM不是您问题的根源。Windows 10 WMM使用压缩,因为它的原始版本构建10240(及更早版本),即始终
Ramhound 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.