服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

dirtysea 发表于 2013-10-8 12:53:00

CPU被过热了

<p>一台Dell PowerEdge 2950服务器,目前安装了CentOS 5.4的操作系统,最近一段时间,系统上每隔5分钟就是显示如下信息:</p><div class="codeblock"><code>Message from syslogd@ at Fri Jan&nbsp; 8 14:19:13 2010
...<br>training kernel: CPU0: Temperature above threshold, cpu clock
throttled<br>Message from syslogd@ at Fri Jan&nbsp; 8 14:19:13 2010 ...<br>training
kernel: CPU2: Temperature above threshold, cpu clock throttled<br>Message from
syslogd@ at Fri Jan&nbsp; 8 14:19:13 2010 ...<br>training kernel: CPU3: Temperature
above threshold, cpu clock throttled<br>Message from syslogd@ at Fri Jan&nbsp; 8
14:24:13 2010 ...<br>training kernel: CPU0: Temperature above threshold, cpu
clock throttled<br>Message from syslogd@ at Fri Jan&nbsp; 8 14:24:13 2010
...<br>training kernel: CPU2: Temperature above threshold, cpu clock
throttled<br>Message from syslogd@ at Fri Jan&nbsp; 8 14:24:13 2010 ...<br>training
kernel: CPU3: Temperature above threshold, cpu clock throttled</code></div><p>记得最初这台服务器最初安装时就出现过此问题,后来似乎换了一个操作系统之后就好了。因为当时没有记录详细日志,所以细节也记清楚了。</p><p>经过检查,这台服务器放置的位置在机柜最上方,可能确实存在温度较高的地方。为此将该服务器搬移到另一个机柜中,并且放在机柜下方温度较低的位置,但是仍然发生相同问题。并且网络每隔一段时间也会中断。</p><p>为此使用系统上的另一个网卡,eth1,之后网络不再中断,至少可以勉强正常运行服务了。但是因为系统反复显示上面的信息,导致在上面执行操作时看起来很混乱,影响正常操作。</p><p>之后也尝试排查硬件方面的问题,打开机箱,发现里面的温度确实不算高。另外还安装了Dell服务器自带光盘中的OpenManage Server
Administrator软件,但是其中显示系统状态一切正常。系统版环境温度(System Board Ambient
Temp)也不过23摄氏度,实在不算高。</p><p>在网上找了很多文档,后来发现几个可能相关的文档,这里汇总一下:<br>首先是 <a title="http://www.linuxquestions.org/questions/linux-software-2/temperature-above-threshold-cpu-clock-throttled-678871/" href="http://www.linuxquestions.org/questions/linux-software-2/temperature-above-threshold-cpu-clock-throttled-678871/">http://www.linuxquestions.org/questions/linux-software-2/temperature-abo...</a>
,但是按照其中方法执行rmmod asus_acpi命令之后,仍然没有阻止该消息再次出现。</p><p>然后是 <a title="http://www.centospub.com/bbs/viewthread.php?tid=3837" href="http://www.centospub.com/bbs/viewthread.php?tid=3837">http://www.centospub.com/bbs/viewthread.php?tid=3837</a>
,如下:</p><div class="codeblock"><code>messages日志提示<br>CPU0: Temperature above
threshold<br>CPU0: Running in modulated clock
mode<br>根据资料,这应该是2.6内核的相应阀值过低造成的.特别在编译程序的时候出现的频率很高.<br>关闭的解决办法如下:<br>vi
/etc/syslog.conf<br>注释掉 *.emerg 这一行<br>/etc/init.d/syslog
restart<br>一切OK</code></div><p>这种方法属于典型的治标不治本,并且可能会影响到其他的严重警告信息显示。</p><p>后来又找到一种方法,http://www.linuxsir.org/bbs/thread305266.html
,可能会更好一些,也算是没有办法的办法:</p><div class="codeblock"><code>关掉内核中mce即可,或者在引导内核的命令中加入nomce</code></div><p>在此服务器的实际操作命令是修改/boot/grub/menu.lst文件,如下:</p><div class="codeblock"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kernel
/vmlinuz-2.6.18-164.9.1.el5.centos.plus ro root=LABEL=/ nomce<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initrd
/initrd-2.6.18-164.9.1.el5.centos.plus.img</code></div><p>













</p><p>即在第一行末尾加上nomce指令。但是之前我可以确定CPU没有过热问题。<br>重新启动之后,世界清静了。</p><p></p>
页: [1]
查看完整版本: CPU被过热了