查看: 13871|回复: 13
收起左侧

[系统] 来探讨一下Superfetch吧

[复制链接]
jiuzai0
发表于 2015-11-10 22:32:45 | 显示全部楼层 |阅读模式
最近在研究磁盘缓存,因为优化大师建议设置为高达128M!而Windows默认512K。但是线索转移到了superfetch。这个superfetch是不是与磁盘缓存差不多的功能呢?*unix系统没有superfetch,而是磁盘缓存较大。而Windows的磁盘缓存小到忽略不计,默认512K,即使与磁盘内部缓存相比也很小。一个操作系统怎么能没有磁盘缓存呢?所以我觉得有可能superfetch就是磁盘缓存的翻版。superfetch的详细机制我还在搜索资料阶段。
从外部特征上看,superfetch与磁盘缓存相比,具有“预读取”特点。磁盘缓存是对读取记录进行判断,然后决定那些内容留在内存中,即“留”而不是“预读取”。但是这个“预读取”的副作用也是明显的,其中肯定有不少预判是错误的,对磁盘读取频率增加很多。
关闭superfetch后,内存占用几乎全满,不过任何程序都毫无迟滞感,甚至有的软件还有所提速,除非内存占用超额。
本研究以Windows 7为例。
woodelf
发表于 2015-11-10 22:48:07 | 显示全部楼层
谁告诉你*nix系统没有类superfetch机制的?有个东西叫prelink,还有个东西叫preload,只不过都不是非内核级而是用户级的实现而已
villana
头像被屏蔽
发表于 2015-11-10 23:25:14 | 显示全部楼层
本帖最后由 villana 于 2015-11-10 23:40 编辑

我认为各种XX大师基本上是“我比微软聪明系列”软件。
另外磁盘缓存应该包括读取缓存和写入缓存吧,我猜想如果写入缓存过大会不会因为系统突然崩溃/突然断电而丢失大量数据。
翼风Fly
发表于 2015-11-11 00:46:41 | 显示全部楼层
磁盘缓存这个硬件参数可以随便改?优化大师说的磁盘缓存又是个什么东东?什么系统默认是512K?难道是网上成堆的修改注册表IoPageLimit?
先看看这个
http://bbs.pcbeta.com/viewthread-616192-1-1.html

另外,打开资源监视器里的内存,自己看看里面的内存分配吧。可以参考一下我前段时间编写的词条:http://baike.baidu.com/item/Wind ... 1%E8%A7%86%E5%99%A8

如果你是为了提速为目的。。。不用纠结,保持默认吧
不过在关闭SuperFetch后竟然内存占满还速度变快。。。这要看具体的内存分配情况。任务管理器的 进程页,把所有有关内存的列全部展开排序,应该和应用有关
jiuzai0
 楼主| 发表于 2015-11-11 12:13:15 | 显示全部楼层
woodelf 发表于 2015-11-10 22:48
谁告诉你*nix系统没有类superfetch机制的?有个东西叫prelink,还有个东西叫preload,只不过都不是非内核级 ...

我就是说内核级,至于应用软件级,*nix系统是开放的,理论上任何功能都可以有,甚至内核级也是可以自己折腾的。
jiuzai0
 楼主| 发表于 2015-11-11 12:16:53 | 显示全部楼层
这个课题应该是这样的:Vista及以后的系统就不要改了,保持默认是合适的。XP可能不是很确定,不改也行,改了也行。
jiuzai0
 楼主| 发表于 2015-11-11 12:20:26 | 显示全部楼层
villana 发表于 2015-11-10 23:25
我认为各种XX大师基本上是“我比微软聪明系列”软件。
另外磁盘缓存应该包括读取缓存和写入缓存吧,我猜想 ...

嗯,这是个问题。按道理讲,Windows应该,对于缓存中写入的数据部分,给予更高的优先级,只要系统不忙就优先写入磁盘。这样的话,提高反应速度产生的副作用不大。
villana
头像被屏蔽
发表于 2015-11-11 12:25:40 | 显示全部楼层
本帖最后由 villana 于 2015-11-11 12:27 编辑
jiuzai0 发表于 2015-11-11 12:20
嗯,这是个问题。按道理讲,Windows应该,对于缓存中写入的数据部分,给予更高的优先级,只要系统不忙就 ...


更大的写入缓存必须伴随更低的刷新频率才有意义。如果刷新频率不变,那么不管多大的缓存空间始终只能利用一丁点,并且磁盘写入频率也并没有变化。
而越低的刷新频率则潜在丢数据的危险越大。
jiuzai0
 楼主| 发表于 2015-11-11 20:09:19 | 显示全部楼层
villana 发表于 2015-11-11 12:25
更大的写入缓存必须伴随更低的刷新频率才有意义。如果刷新频率不变,那么不管多大的缓存空间始终只能利 ...

我的意思是,或者说希望,写入缓存丢数据这个问题很小,对写入就不要怎么缓存了。硬盘本身就有队列,该写就写。
缓存主要是对读取。xp系统打开的软件,一段时间不用后,再使用就有读盘现象,影响流畅。win7不明显。
villana
头像被屏蔽
发表于 2015-11-11 20:14:16 | 显示全部楼层
jiuzai0 发表于 2015-11-11 20:09
我的意思是,或者说希望,写入缓存丢数据这个问题很小,对写入就不要怎么缓存了。硬盘本身就有队列,该写 ...

嗯,预读机制逐渐完善了,8以上比7还要好些
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-15 17:15 , Processed in 0.114137 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表