预读技术是微软vista和windows7默认开启的程序,原意是增加程序运行和开机速度,但事与愿违,该技术已经变成与UAC几乎一样的垃圾,普通用户建议关闭,原因有:
1、程序本身额外增加系统负担,启用就多运行至少一个进程
2、在C:\windows\prefech\下面保存大量小文件,很容易产生磁盘碎片,也占用系统盘空间
3、Prefecher技术于开机后不久大量读取硬盘数据到可用物理内存,有时候多大2-3G甚至更多,造成磁盘频繁读写,增加磁盘负担,缩短磁盘寿命(相对于固态硬盘来说就更是有百害而无一利)
4、如果物理内存并不特别充裕(目前的话,2G以下内存是大多数人的配置,但不能说很充裕的,4G以上可以说相对充裕),一旦运行大型程序或游戏,需要大量物理内存,那么刚刚预读的内容将被迫清除,留给正在运行的程序使用,白白浪费预读的程序
5、如果硬盘速度一般,如5400转的笔记本硬盘,此技术会超过磁盘负担,直接导致系统性能下降
6、如果内存不是足够大,比如1G及以下,特别是还在用虚拟内存的用户,就更是拖累了;虚拟内存要读写硬盘,预读技术也要读写硬盘,运行程序还要读写硬盘,以目前硬盘的速度根本应付不了这么多的负荷,系统速度慢就是必然的
7、 Superfetch技术为相对固定使用的程序预先读入数据和程序代码,但是我们普通用户那会天天相对准时的开机、并相对准时的运行某些程序呢,大多数都是想要什么,就开什么程序,很乱的,这个技术根本起不到用处,而且你的电脑也不可能长时间开机,不用就关掉的,此技术几乎没用武之地
别忘记关闭服务后,C:\windows\prefech\下面的文件全部删除
其实windows早就有了另一套内存缓存技术来解决程序运行慢的问题,该技术也尽量减少磁盘读写,延长磁盘寿命,98、xp就一直使用的,只是很多人都不知道
磁盘缓存分为读缓存和写缓存
读缓存是指,操作系统为已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间被称之为"内存池"),当下次软件或用户再次读取同一文件时就不必重新从磁盘上读取,从而提高速度
写缓存实际上就是将要写入磁盘的数据先保存于系统为写缓存分配的内存空间中,当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏,也能减少写入所需的时间
虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的
看到了吧,就是这么简单,把读写磁盘的数据同时放到空闲的内存中,需要是直接从内存调数据,而不是先从磁盘调数据,所以我们总感觉第一次启动程序要慢,而第二次就快多了;而根据我使用内存虚拟盘的经验,目前DDR800内存的实际读写速度大约是SATA2硬盘的2倍,碎片文件还要更快一点
由于网上资料很少,个人推测,windows任务管理器,性能选项卡,物理内存信息中的"已缓存"基本就是磁盘读写数据的数量,而预读技术大量读写盘也可以从这里直接看到,开机后几分钟已缓存大量增加,就是预读技术在后台不停的读盘
你可以用这个简单的方法测试,随便选个影视文件,比如大小是500M,随便复制一下,你会发现,已缓存增加了大约1G,因为读和写都是500M(500*2)
结论是大内存还是有用的,别看windowsxp启动后内存占用只有不到200M,windows7 32bit只有500M多,windows7 64bit 800M,同样加4G或者更高内存也是不算浪费的,临时保存硬盘读写数据也是好的,系统速度更快,硬盘寿命更长.