AMD cpu 在linux系统上的随机死机

前段时间新配置了台服务器,用的AMD的锐龙7 1700 (R7) CPU, 一切都很顺利,唯一的问题就是会随机死机。 这个随机的时间不一定的,一般会超过1天,然后不知道什么原因就彻底挂了,网络ping都无反应, 连上显示器有时候都无显示,总之,除了强制关电源重启外别无他法。(幸好我接了个智能开关,让我可以 随时硬性断电)。

经过不断的测试和研究错误,出现问题的时候,最可能的错误日志如下:

watchdog: BUG: soft lockup – CPU#10 stuck for 22s! [mysqld:4880]

mysqld 这个估计是进程,但不是这个引起的,我曾经以为碰到了mysqld的某个坑了,最后研究和这个无关系。

在网上查到的信息,排除软件错误,最大的关注点是关于CPU的C6-State的这个特性,而这个是硬件的内容, 外文网站有很多人反映这一问题,甚至发出“AMD就是服务器界的耻辱”的感叹。

根据方案,解决的方式是关闭bios的c6-state特性,我用的华硕的主板,在中文界面下没有找到,然后看了下 发现bios有更新,那就先更新下看看吧。更新完后试了下,1天过后又彻底死机了。后来把界面切换到英文界面, 然后发现了C6-state, 立刻关闭。再次测试,这次稳定运行了6天多都未有问题,看来确实是这个原因了。

网上甚至有人写了段代码来测试: https://github.com/r4m0n/ZenStates-Linux

根据某篇文章,这个C6-state的内容需要电源支持,大约是Intel先提出来的,所以网上有人反应,换了电源 就可以了。

不知道windows系统会不会也这样,我家里的电脑有时候也会随机死,不过因为概率很低,我以为主板时间长了, 出现了部分问题,不过电脑也很旧了,从时间理论上而言,不一定会有这个特性。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据