Ton*_*ich 43 memory windows-7 task-manager resource-monitor
我正在使用带有 8G 内存的 Windows 7 64 位。使用了一段时间后,我觉得 Windows 越来越迟钝了。驱动器在颠簸。当我查看资源监视器和磁盘活动时,我看到了一些使用页面文件 (c:\pagefile.sys) 的实例。我检查了物理内存,我看到大约 2.3G 可用内存和 700M 空闲内存。
为什么 Windows 不使用更多的可用内存和更少的页面文件?它是否需要留下一些 x 数量的空闲内存,那会是多少?它是物理内存的百分比吗?
我的计划是为主驱动器获取更多内存和 SSD。与此同时,我正遭受性能缓慢的困扰。
Dar*_*oid 33
首先,不要将页面文件放在 SSD 上。虽然 SSD 在磨损均衡方面已经变得更好,但页面文件被频繁写入,并且它会比一般使用更快地降低您的 SSD。
很多人不明白的是,windows 从来没有真正的空闲内存。有一些 MB 可用于突发需求,但除此之外,活动使用中的应用程序内存与总内存之间的差异通常被所谓的“备用”内存消耗。

这些是可以在需要时转储的内存页(备用内存是一个很好的大缓存),因此从应用程序的角度来看,它是可用的,但无论如何它们都没有被使用。通常,它们用作磁盘缓存或页面文件缓存。
Windows 的目标是根据使用模式保留最有可能在此备用缓存中使用的数据。举一个人为的例子,让我们比较一下像 Windows Update 这样的程序的私有内存(通常配置为每周运行一次)的相对值,与在此备用内存中缓存桌面内容的相对值:
大多数情况下,Windows Update 都在休眠。它占用了内存,并且在大多数情况下,它在等待时间表到来时绝对没有任何价值。另一方面,您的桌面文件夹的内容可能会不断被查询,特别是如果您想将文件保存到其中。
在这种情况下,Windows 将做的是将分配给 Windows 更新的内存分页(即使内存未“满”,并使用 RAM 中的可用空间来缓存桌面内容。这会导致更好的性能你。
Windows 正在做出数以千计的此类决策,并为后台服务不断写入的数百个文件管理磁盘缓存,同时试图在此与活动应用程序的内存需求之间取得平衡。有时它会暂时出错,当我们切换到在后台休眠一段时间的应用程序时,我们可能不得不等待它将数据分页回内存。但是您必须考虑的是,如果它将该应用程序完全保留在内存中,又有多少其他应用程序会陷入困境,等待磁盘写入和读取完成,或者它们自己会被迫换页?如果这些是您在此期间使用的应用程序怎么办?
应用程序经常分配很少使用的内存页,例如启动代码(使用一次然后不需要)、关闭代码(使用一次然后不需要)或更新代码。当有更重要的用途时,将所有这些都保存在内存中是不切实际的,因此一旦 Windows 识别出应用程序当前操作不需要的代码部分,它就会很高兴地将这些部分分页到页面文件中,即使从技术上讲,它可以将它们保留在内存中。
(实际上,根据应用程序,系统可能经常分配比实际更多的内存,预计其中大部分会被调出。如果您正在查看详细的内存故障,“提交”或“提交”费用是 Windows 分配给各种应用程序的内存量。页面文件用于为该内存提供保证,即使它没有足够的物理 RAM 来覆盖它。)
我刚刚注意到您确实在问题中区分了可用内存和可用内存;如果您觉得受到了教训并且已经知道其中的区别,我深表歉意。理想情况下,空闲内存始终为 0。然而,虽然备用内存是可以释放的内存,但并不总是可以快速释放的内存。如果我尝试将一个 1GB 的文件写入磁盘,Windows 会尽可能将其粘贴在内存中的磁盘缓存中,然后在后台慢慢将其写入硬盘驱动器。如果应用程序需要请求 50MB 的额外内存,但由于这个巨大的磁盘缓存仍在刷新而没有可用的内存,那么应用程序将挂起,直到它可用为止。从用户的角度来看,手头保留一个小缓冲区可以让系统以最小的延迟解决这个问题。
| 归档时间: |
|
| 查看次数: |
68130 次 |
| 最近记录: |