我正在使用Windows 7 64位和8G内存。使用一段时间后,我觉得Windows变慢了。驱动器运转异常。当我查看资源监视器和磁盘活动时,我看到了一些使用页面文件(c:\ pagefile.sys)的实例。我检查了物理内存,然后看到大约2.3G可用内存和700M可用内存。
Windows为什么不使用更多的可用内存和更少的页面文件?是否需要留下x数量的免费ram,那将是多少?它是物理内存的百分比吗?
我的计划是为主驱动器配备更多内存和SSD。同时,我表现不佳。
我正在使用Windows 7 64位和8G内存。使用一段时间后,我觉得Windows变慢了。驱动器运转异常。当我查看资源监视器和磁盘活动时,我看到了一些使用页面文件(c:\ pagefile.sys)的实例。我检查了物理内存,然后看到大约2.3G可用内存和700M可用内存。
Windows为什么不使用更多的可用内存和更少的页面文件?是否需要留下x数量的免费ram,那将是多少?它是物理内存的百分比吗?
我的计划是为主驱动器配备更多内存和SSD。同时,我表现不佳。
Answers:
首先,不要将页面文件放在SSD上。尽管SSD在损耗平衡方面已经变得更好,但是页面文件却被频繁写入,这会使您的SSD降级的速度比一般用途快得多。
很多人不了解的是,windows从来没有真正拥有可用内存。有几个MB可用于突发需求,但除此之外,活动的使用中应用程序内存和总内存之间的差异通常由所谓的“备用”内存消耗。
这些是可以在需要时转储的内存页(备用内存是一个很大的缓存),因此从应用程序的角度来看,它是可用的,但是决不使用它们。通常,它们充当磁盘缓存或页面文件缓存。
Windows的目标是根据使用模式,保留最有可能在此备用缓存中使用的数据。要使用人为的示例,让我们比较一下将Windows桌面内容缓存在备用内存中时,Windows Update之类的程序(通常配置为每周运行一次)的私有内存的相对值:
在大多数情况下,Windows Update正在休眠。它占用了内存,并且在等待调度程序执行的大部分时间里,它绝对没有任何价值。另一方面,可能会不断查询桌面文件夹的内容,特别是如果您想将文件保存到其中。
在这种情况下,Windows要做的是调出分配给Windows Update的内存(即使内存不“满”,并使用RAM中提供的空间来缓存桌面内容)。您。
Windows正在做出数以千计的这些决定,并管理后台服务不断写入的数百个文件的磁盘缓存,同时努力平衡活动应用程序的内存需求。有时它会暂时出错,并且当我们切换到在后台睡眠了一段时间的应用程序时,我们可能必须等待它将数据分页回内存。但是您要考虑的是,如果它已将该应用程序完全保留在内存中,又有多少其他应用程序又陷入困境,以等待磁盘读写完成,或者被迫分页?如果您当时正在使用这些应用程序怎么办?
应用程序经常分配很少使用的内存页,例如启动代码(使用一次,然后不需要),关闭代码(使用一次,然后不需要)或更新代码。当有更重要的用途时,将所有这些都保留在内存中是不切实际的,因此,一旦Windows识别了应用程序当前操作不需要的代码部分,即使将这些部分愉快地分页到页面文件中,即使从技术上讲可以将它们保留在内存中。
(实际上,根据应用程序的不同,系统可能会经常分配超出其实际容量的内存,并期望其中的大部分最终会分页出去。如果您要查看详细的内存故障,则需支付“ Commit”或“ Commit”费用是Windows分配给各种应用程序的内存量。页面文件用于提供对此内存的保证,即使它没有足够的物理RAM来覆盖它也是如此。)
我只是注意到您在您的问题中确实将可用内存和可用内存区分开来;如果您感到受过教and并且已经知道区别,我深表歉意。理想情况下,可用内存始终为0。但是,虽然备用内存是可以释放的内存,但并非总是可以迅速释放的内存。如果我尝试将1GB的文件写入磁盘,则Windows会尽可能将其粘贴到内存中的磁盘缓存中,然后在后台将其缓慢写入硬盘。如果应用程序需要请求50MB的额外内存,但由于仍在清除此巨大的磁盘缓存而没有可用空间,则该应用程序将挂起,直到可用为止。保留一个较小的缓冲区可使系统从用户的角度出发以最小的延迟解决此问题。
这就是所谓的提前计划。
在仍有大量RAM的情况下将内存页面写入页面文件是一件好事。一旦程序请求的内存大于可用内存,操作系统便可以尽快开始清理空间。现在最好准备,以后再做。
如果操作系统要等待,那么您将遇到性能瓶颈。如果程序要求的内存超过可用内存,现在您必须等到操作系统写出更改的内存块,然后释放它们。
有一个工具可以通过SysInternal设置磁盘缓存。
cacheset.exe
你可以在这里找到它:
http://technet.microsoft.com/zh-cn/sysinternals/bb897561.aspx
最近7年,我关闭了页面文件。实际上,这是全新安装后我要做的第一件事。从来没有任何问题。(实际上,我有一个-名为“ titan quest”的游戏在启动时执行了非常愚蠢的检查,因此我创建了一个4 MB的页面文件只是为了让它开心,并在以后关闭了PF)。至于原来的问题。Windows使用我们的RAM进行磁盘I / O缓存。由于某种原因,它认为磁盘缓存对于活动程序代码和数据同样重要。而且没有办法限制磁盘缓存的大小。它是有意设计的,我们对此无能为力...哦,等等!我们可以!只需关闭页面文件。运行占用大量RAM的应用程序?购买更多RAM或关闭一个应用程序,然后再启动另一个。您可以使用Process Explorer查看任何给定时刻使用了多少内存。
即使有足够的RAM,用于保留和使用页面文件的参数(此处和此处)是:
使用Windows资源监视器,可以查看有多少RAM用于缓存(显示为“待机”)。
如果看到RAM已实际使用或处于待机状态,则页面文件对您很有用。如果您的任务和可用RAM的组合使得大部分内存显示为未使用(“空闲”),那么我认为没有必要仅仅出于对“知道得更好并且在这里说过”的人的考虑而对硬盘进行磨削。 ”。
所有这些评论和正确的答案都丢失了。关闭您的页面文件。8GB RAM不需要它,如果需要更多RAM,请购买。真的很简单。