对“缓存”的全面理解和优化[2]

[入库:2005年9月19日] [更新:2007年3月24日]

本文简介:

  3)最大最小页面文件的设置原则。有很多人建议将这两个值设置成相等的,我不知道他们是那里来的依据,其实这样设置是不合理的。我们先要知道他们两个值的意义。一般情况下,内存是不会真的“塞满”,它会在内存储量到达一定程度时自动将一部分暂时不用的数据放到硬盘,最小页面文件是所说的“一定程度”的具体比例的决定因素,最小页面文件大,比例就低,反之则相反;最大页面文件是极限值,有时你开了很多程序,内存和最小页面文件都满了,就自动溢出到最大页面文件。所以,将两者设为一样大是不合理的。最小页面文件要小一些,这样能够在内存中尽可能存更多的数据,效率就高,最大页面文件大一些,以免出现“全满”的的情况。

  4)winxp现在支持4G内存,哪怕你有5,6百M的内存,你都不需页面文件了,这时可以把页面文件禁掉。到注册表编辑器HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management下,找到DisablePagingExecutive(禁用页面文件)设其值为1。

  5)在同上的注册表编辑器位置上有个ClearPageFileAtShutdown(关机时清除页面文件),这里所说的“清除”页面文件(即虚拟内存)并非是指从硬盘上完全删除pagefile .sys这个文件,而是对其进行“清洗”和整理,从而为下次启动Win2K更好地利用虚拟内存作好准备。这样做还有利于安全,页面文件上的残留的数据是可以用特殊的工具读到的,而这些数据你可能并不想让人知道。这样做的代价是关闭系统时间会加长。 将其值设为1即可。

  6)学过C的朋友们应该对操作内存有个概念,一个任务完成后,要用free函数来释放内存,但有很多软件在设计的时候,并没有在所有环节都这样做,这会造成无用的数据占据内存,对这种情况可以使用一些内存优化软件,让这钟软件来完成释放内存的动作。
  
  2,下面介绍和优化一些不著名的缓存:

  1)内存读取硬盘数据要经过一个系统缓存(system cache),它的位置是在内存的特定区域,它是用来缓解硬盘与内存之间的速度不平衡的。它是以牺牲内存资源来换取从硬盘读取数据时的速度的,有了这块缓存,系统能从硬盘预读所需的数据,减少系统等待的时间。如果你的内存很大,比如5,6百M,那么你除了可以采取上面说的关闭页面文件的方法外,还可以起用打的系统缓存。做法如下,进入注册表编辑器:  HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management,找到LargeSystemCache(启用大的系统缓存),将它的值设为1就可以了。

  这样设置了后,systemcache从4M增加到8M,再win2000和winxp中,这个值是动态的,如果内存不足,systemcache占据的空间可以自动相应调整。

  2)处理器从内存读取数据的缓存是什么呢?是二级数据高级缓存(缓冲),同样它也要在内存中占一个空间,所以最好是有了大内存之后再设置这个值。也需再注册表里设置,方法如下:进入 HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management ,找到 SecondLevelDataCache,默认为256,大内存设为512。
    

本文关键:对“缓存”的全面理解和优化
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top