作者:微软社区 Steven
一、分页档的碎片是在什么情况下产生的?
一般的,无论是按照系统默认的“windows管理分页档大小”还是“自定义”,分页档都有一个初始值和一个最大值。初始值默认是系统物理内存的1.5倍。比如您是128M的物理内存,那分页档的初始值就是196M。这一般也是分页文件在硬盘上占用的空间大小。当系统需要更大的虚拟内存时,则自行增大分页档大小,使之大于196M以满足需要,那么这时就可能会产生分页档的碎片。反过来,如果根据您的实际需要,将分页档的初始值设定的大些,使系统不需要自行调大分页档,那么也就不会产生碎片。这也就是为什么将分页档大小设定为固定值不会产生碎片的原因。
二、将分页档大小固定后还会产生碎片吗?这样设定有什么潜在的问题?
所谓将分页档大小固定,就是将分页档的初始值和最大值设为相同。按照上面的论述,这样不会产生档碎片。因为系统不再会调整它的大小。这样就引出一个问题,需要将这个固定值设定的比您的实际需要大才行。否则,系统就会出现out of
memory的错误;因为将它固定了,系统不能调整它的大小。而当您的实际需要改变,比如需要使用系统执行视音频的编辑、图形设计等消耗内存较大的程序时,这个问题常常暴露出来。所以,如果要这样设定,那么需要心里有个数。
三、是否有办法使分页档尽可能不产生碎片?
两个方面:一个是增大物理内存;一个是设定一个合理的分页档初始值。
首先,windows里的程序在执行时总是优先利用物理内存,即使是物理内存用尽了,当新执行一个程序时,它也是尽可能调度物理内存。除非物理内存确实不够用,才调度分页档,这时就利用硬盘空间做虚拟内存,您会感到系统执行速度下降。所以,增加物理内存,无论从提高性能还是从文件碎片角度,都是有益处。往往的,增加物理内存提升的性能比升级CPU等要显著的多。当然,这需要银子。
第二,分页文件的初始值问题。前面讲了,初始值小,则容易产生碎片。因为系统会根据需要调整分页档大小。所以,从档碎片角度讲,应该根据需要,设定一个合适的初始值。但,也可能会占用更多的硬盘空间。
四、分页文件的碎片对系统性能影响大吗?
通常情况下,分页档会产生一些档碎片,但一般不会对系统性能产生能“感觉出的”影响,或者说,影响很小,不需要处理。而且,如Inside Out里讲的,
In practice, the design of the page file
is such that it tends to use large blocks of disk space, and as a result the
impact of fragmentation on the page file is minimal. You might notice a very
small performance hit when Windows increases the size of the page file, but
that's a one-time operation and won't affect everyday performance. 事实也是如此
五、如果分页档有大量碎片,如何处理?
在极少数情况下,如果分页档真的产生大量碎片,这样会影响性能、需要处理。
我们知道,系统自带的磁盘整理程序对分页文件的碎片是无法处理的。这里提供一个变通的方法:
首先,按照http://support.microsoft.com/?id=307886里的方法,将分页档从激活分区移动到其它分区、并在激活分区设定“无分页档”。重启后先查看激活分区有无分页档,如果有,删除,然后执行磁盘整理程序、整理激活分区的碎片,结束后,再按照KB307886的方法将它移动回来即可。这个方法也可以在很大程度上满足“力求完美”的用户的心理。
六、为什么微软推荐分页档的初始值最小应该是物理内存的1.5倍?可以将它设定的小一些吗?
我是这样看这个1.5倍的:Windows XP系统在默认设定下,对于系统失败或故障的处理是,向系统写入完全转存储档。那么如果要写入完全转存储档,需要激活分区的分页档大小至少等于物理内存大小才行,否则就不行。微软推荐分页档的初始大小为物理内存的1.5倍,原因可能也在这里。理解了这个,也会知道,可以设定的小一些,但设定前要更改系统的写转存储档的设定。应该了解的是,初始值设定的小,可能更容易产生碎片。
这个问题确实存在着一些争议。比如有人提出,不应该根据物理内存大小设定分页档的初始值,而应该根据实际情况或实际需要。这个说法本身没多大问题,但,可能,微软有微软的考虑。公司总是向用户提供最稳妥的使用他们产品的建议。
七、一般家庭用户需要干预分页文件的设定吗?
一定先牢记我这句话:作为普通用户,您没必要过于关注系统的这个分页档,也不需要费心的研究如何设定它、以及过于担忧它的碎片问题。您也不要再幻想通过它来显著提高系统性能。就当它不存在。
有一种情况例外,就是激活分区的空间吃紧,您可以将它移动到其它分区。从优化角度,更新后的314482这篇KB(2.0)介绍的方法,是有前提条件的:计算机有两块或更多块的硬盘时,才有机会使用这个方法;当然,如果您有这样的机会或者条件具备,可以采用里面的方法设定分页档。
如果您发现由于虚拟内存的原因,系统执行速度缓慢,那么,无论怎样设定这个分页档、“处理”它的碎片,都不会得到满意的结果。这种情况下,建议您增加物理内存,来满足您的实际需要。
网友评论