使用过Windows的朋友一定对虚拟内存不会陌生,因为我们的操作系统基于X86的32位操作系统(有个别的64位系统除外),而计算机是以二进制来描述的。因此2^32=4096MB=4GB。这样,一个32位计算机上运行的进程,最大寻址空间为4GB。我们使用的虚拟内存。跟实际的物理内存并无任何关系。当电脑中的某一进程将属于它的虚拟内存用完后,即使你有再多的物理内存空闲,也将出现无内存可分配的情况,并且不能通过增加物理内存的方法来增加虚拟内存。
K
q;X(&Z d/I,` 那么虚拟内存怎么会产生碎片呢?因为虚拟内存的分配和管理都是由Windows的内存管理器来完成的。其是一个动态变化的过程。内存的分配和使用以及释放都是动态的。因此,在计算机运行一段时间后,就会因为频繁的内存分配和释放,产生一段一段不连续的小块内存块,虚拟内存碎片就是这样产生的。
3[mVPV jK`b6:#(, 虚拟内存碎片对Windows会产生不良影响,当电脑产生大量的内存碎片后,就会导致EXCHANGE的STORE进程(此进程为最耗用内存的进程且该进程是依据虚拟内存来设计的)在使用中不能获得可用的虚拟内存空间块,时间长了,就会发生虚拟内存不足以分配的现象。要是严重的虚拟内存不足,将影响Windows的正常工作。
s~N WJ*i :x"Q[079 但Windows只提供了磁盘碎片的整理,对虚拟内存碎片却无能为了。其实不然,微软提供了一个名字为PageDefrag的软件,通过它就可以快速清理虚拟内存碎片。PageDefrag是一款绿色软件,随意解压到任意目录后就可以使用。
M7U:UV) -/ 5" Py 运行PageDefrag之后,会在主列表中看到虚拟内存碎片的情况,要是碎片很多的话,那么一定要进行整理(图1)。PageDefrag有两种整理方式,一种是在下次启动该软件的时候自动整理虚拟内存碎片,另外一种是每次启动PageDefrag的时候整理虚拟内存碎片。无论采用哪种方式来整理虚拟内存碎片,都要保证在整理的过程中不要运行其他程序,以免影响整理效果。
Ql`N)! a2J01B {4
B{~Qe; +OSF0#bj 图1 查看碎片
$oF0[ }S VK>ZH^- 这样,用PageDefrag整理虚拟内存碎片之后,就会发现Windows的运行速度要比以前快上很多,系统并且也比以前稳定