« 隐私,信息以及信息安全 | Main

Dell服务器和Linux kernel bug造成的CPU性能下降问题

作者:virushuo 发表于 2014-01-21 13:01 最后更新于 2014-01-22 10:01
版权声明:按照by-nc-sa的cc协议可转载,拒绝采用“独家” 授权媒介(含网站和平面媒体)转载、引用、链接,除非获得本人许可。转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。


好久没做这种类似技术顾问的工作了。今天处理了一个挺奇怪的问题,我也是第一次碰到这种事情。最后总算比较周折的找到了原因,这个bug比较新,估计碰上问题的人应该不会少,所以我就顺手记在这里一份。

问题是出现在一个朋友的服务器上,这是一台E5-2430的Dell服务器,他给我的描述是"有一台机器非常慢,但负载很低。"按照以往经验,这种问题是出现在程序锁或者IO Block上,一般是某些重要资源的争用导致的。但检查之后这些都没问题。

这种现象我从来没碰上过,直觉上感受就是cpu本身速度很慢,于是,用计算圆周率的办法来测试cpu性能:

time echo "scale=5000; 4*a(1)" | bc -l -q

过了4,5分钟都没算出来结果。基本可以定位问题在CPU上。

查syslog,发现大量的 CPU0: Package power limit notification 这种通知,怀疑是和电源管理有关。

顺着这个终于找到了问题。这是一个目前只出现在Dell服务器上的LInux内核bug,大致是内核在CPU功耗和温度控制上有bug,(确切的说应该是Dell的BIOS造成的,但最终表现出来是内核的bug)没法拿到正确的值,由此导致CPU持续被降频。

最早的报告应该来自Redhat,并且在1个多月之前redhat修复了它

如果是Redhat的服务器,打补丁即可,如果不是Redhat,这里有几种其他解决方案

这件事让我明白了为什么一些做运维的人非要坚持用Redhat,我一直认为Redhat在各方面都落后了。但出现这种问题的时候还是这种商业公司响应比较及时。


多谢 @googollee@yarshure@holly@qianhw 的建议和讨论。

相关文章:
blog comments powered by Disqus
CC License. Some rights reserved.
署名·非商业用途·保持一致
本站之所有未作特别说明的内容均使用 创作共用协议.
POWERED_BY_MT_3.2