supercache在win7下貌似没什么用,命中率太低

supercache在win7下貌似没什么用,命中率太低,第1张

Cache及其命中率于块长大小的关系 Cache的命中率H主要与如下几个因素有关:程序在执行过程中的地址流分布情况;当发生Cache块失效时,所采用的替换算法;Cache的容量;在组相联映象方式中,块的大小和分组的数目;所采用的Cache预取算法等。其中,地址流的分布情况是由程序本身决定的,系统设计人员一般无能为力。块替换算法,已经在上一节中已经介绍过。Cache预取算法将在下面的另外一节中专门介绍。以下,对影响Cache命中率的另外几个因素作简单的分析。

1、Cache命中率与容量的关系

Cache的命中率随它的容量的增加而提高,它们之间的关系曲线如图5.34所示。在Cache容量比较小的时候,命中率的提高得非常快,随着Cache容量的增加,命中率提高的速度逐渐降低。当Cache容量增加到无穷大时,命中率可望达到100%,但是,这在实际上是做不到的。 图 5.34 Cache命中率与容量的关系

在一般情况下,图5.34中的关系曲线可以近似地表示为H=1-S-0.5。因此,当Cache的容量达到一定值之后,再增加Cache容量,命中率的提高很少。

2、Cache命中率与块大小的关系

在采用组相联映象方式的Cache中,当Cache的容量一定时,块的大小对命中率的影响非常敏感。图5.35表示随着Cache块的由小到大的变化,命中率上升和下降的情况。 图 5.35 Cache命中率与块大小的关系

开始时,块大小很小,例如只有一个存储单元,这时的命中率H很低。随着块大小的增加,由于程序的空间局部性起作用,同一块中数据的利用率比较高,因此,Cache的命中率增加。这种增加趋

势在某一个最佳块大小处达到最大值。在这一点以后,命中率随着块大小的增加反而减小。 实际上,当块大小非常大时,进入Cache中的许多数据可能根本用不上。而且,随着块大小的增加,程序时间局部性的作用就会逐渐减弱。最后,当块大小等于整个Cache的容量时,命中率将趋近于零。

3、Cache命中率与组数的关系

当Cache的容量一定时,在采用组相联映象和变换方式的Cache中,分组的数目对于Cache命中率的影响是很明显的。随着组数的增加,Cache的命中率要降低。当组数不太大时,例如,512组以下,命中率的降低相当少,当组数超过一定数量时,命中率的下降非常快。

由于在组相联映象方式中,组间是采用直接映象方式的,只有组内采用全相联映象方式。当分组的数目增加时,主存中的某一块可以映象到Cache中的块数就将减少,从而导致命中率下降

XP系统运行较流畅要512M内存,而supercache这类软件都是把部分内存作为第二缓冲区,也就是系统内存要512M以上才有效果。如果使用XP,系统内存1G以上,可以考虑使用supercache,但效果不会太明显,特别是使用耗内存的程序(PS系列、3D渲染、游戏等),实际可能更慢,浏览网页(不多开窗口或标签)、扫扫雷等可能会有些效果的,但实际上感觉不明显,因为内存容量满足系统需要后,实际影响系统的还是硬件,而拖慢系统的硬件还是硬盘(经过N年了,无论硬盘接口怎么改进,硬盘内部传输率还是没能提高),所以N年前微软才搞个交换文件(页面文件)优化一下。建议不再使用这类软件,因为效果几乎为0,甚至是负数。当然,如果你内存2G以上,使用这类软件还是有效果的。

看了楼上的,觉得可能不是启动项的问题,会不会是垃圾清理的不好。

因为win7比较特殊,用了supercache技术,就是把你常用的程序的一部分文件开机时预先加载。这个据说是可以加快开机速度的,而某些清理垃圾的批处理是会删除c:\windows\frepetch里的预读文件的。

另外就是臃肿的注册表和磁盘碎片也会对机器的速度有影响,没整过的话都优化一下吧。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11153935.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存