LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1113|回复: 8

cpu的二级缓存的问题!

[复制链接]
发表于 2005-2-25 12:15:45 | 显示全部楼层 |阅读模式
不知道cpu的二级缓存的在linux下会不会自动确认!

我今天才知道,windows xp 都不能确认cpu的二级缓存,需要自己设置!
发表于 2005-2-25 15:02:43 | 显示全部楼层
我也想知道呢!
回复 支持 反对

使用道具 举报

发表于 2005-2-26 02:14:46 | 显示全部楼层
Post by atmlace
不知道cpu的二级缓存的在linux下会不会自动确认!

我今天才知道,windows xp 都不能确认cpu的二级缓存,需要自己设置!

这个问题有意思,我也不知道,你能不能告诉大家如何设置?谢谢。
回复 支持 反对

使用道具 举报

发表于 2005-2-26 05:47:06 | 显示全部楼层

  1. cat /proc/cpuinfo | grep cache
复制代码

应该只要内核能够识别CPU型号,就能正确显示二级缓存,不需要特殊设置。
如果你的CPU比较特殊,那么可能需要编译内核。
回复 支持 反对

使用道具 举报

发表于 2005-2-26 14:23:28 | 显示全部楼层
是不是这样就是可以正确的识别并配置了?

[yzh@taiji yzh]$ cat /proc/cpuinfo | grep cache
cache size      : 256 KB
[yzhi@taiji yzh]$
回复 支持 反对

使用道具 举报

发表于 2005-2-26 15:35:10 | 显示全部楼层
Post by atmlace
不知道cpu的二级缓存的在linux下会不会自动确认!

我今天才知道,windows xp 都不能确认cpu的二级缓存,需要自己设置!

对于CPU二级缓存(L2 Cache)的作用,想必大家都多多少少有一定了解,即使不完全明白其中道理,至少也可以从Pentium 4和Celeron的差价判断出其重要性—256KB二级缓存的Celeron D 2.4GHz比512KB二级缓存的Pentium 4 2.4C便宜近一半。如果这时候有人说Windows XP操作系统并没有充分利用CPU的二级缓存,你会怎么想?这简直就是在浪费用户的投资嘛!

  事实上,有一种广为流传的说法是Windows XP没有对CPU进行优化,理由就是它默认状态下并没有打开CPU的二级缓存。如果你打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\Control\Session Manager\Memory Management”,在其中可以看到一个名为“SecondLevelDataCache”的项,它的默认值为“0”。再明显不过了, “SecondLevelDataCache”就是二级数据缓存的意思,既然被设置为“0”,那就是关闭了二级缓存。   
正是基于以上论断,才出现了优化二级缓存的技巧,也就是把“SecondLevelDataCache”的值设置为CPU的二级缓存容量(单位 KB)。在众多的优化软件中也包含了优化CPU二级缓存的设置,例如“超级兔子魔法设置”、“Windows优化大师”和PcMedik等。这样的优化到底有多大的效果呢?还是让事实说话比较好,请看我们进行的对比测试。

  从测试结果来看,修改“SecondLevel DataCache”的值对测试结果没有任何影响,这是为什么呢?事实上,在微软的知识库文章(http: //support.microsoft.com/default.aspx?scid=kb;en-us;183063)中可以看到,从Windows NT4开始,“SecondLevelData Cache”的默认设置就已经是“0”了。这篇文章指出,当“SecondLevelDataCache”为“0”时,系统会尝试通过硬件抽象层 (Hardware Abstraction Layer,HAL)获取二级缓存容量,即便是硬件抽象层无法获取二级缓存容量,系统也默认设定二级缓存为256KB,而不是完全关闭二级缓存。在另外一篇Windows 2000的知识库文章中(http://support.microsoft.com/default.aspx?scid=kb;en-us; 228766)中,明确地告诉用户,一些第三方资料宣称修改“SecondLevelDataCache”可以优化系统性能,这是不正确的。 Windows XP与Windows NT4/2000都是NT内核,因此在设计上具有一定的继承性,虽然这两篇知识库文章并不是直接针对Windows XP提出的,但可以看到这个问题由来已久,Windows NT系列操作系统在最初就已经把这个问题考虑周全了。

  从实际测试的结果和微软知识库文章的解释可以得出结论,所谓的Windows系统没有对CPU进行优化的说法是错误的,虽然手动修改“SecondLevelDataCache”也没有带来什么负面影响,但这种“优化”绝对是多此一举。   

  测试平台:

  CPU Pentium 4 2.8E

  主板 微星865PE Neo2

  内存 Kingston DDR400(256MB×2)

  硬盘 Maxtor Plus 9 120GB(SATA)

  显卡 ELSA影雷者FX534DV

  操作系统 Windows XP Pro+SP1

  SecondLevelDataCache Super Pi 209万位测试

  0 110秒

  1024 110秒

  512 110秒

  256 110秒

  128 110秒

  64 110秒

  32 110秒

  16 110秒

  8 110秒
回复 支持 反对

使用道具 举报

发表于 2005-2-26 20:44:58 | 显示全部楼层
楼上回答得真好!!!
佩服,佩服!
回复 支持 反对

使用道具 举报

发表于 2005-2-26 23:20:01 | 显示全部楼层
恩 我寻思 微软也不能那么菜
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-28 11:31:01 | 显示全部楼层
谢谢了,真长见识了!!!

谢谢啊!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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