公司最近又一臺機老報這個錯誤:
Message from syslogd@oddscollector7 at Thu Jan 10 05:42:08 2008 ... oddscollector7 kernel: CPU0: Temperature above threshold Message from syslogd@oddscollector7 at Thu Jan 10 05:42:08 2008 ... oddscollector7 kernel: CPU1: Temperature above threshold Message from syslogd@oddscollector7 at Thu Jan 10 05:42:08 2008 ... oddscollector7 kernel: CPU1: Running in modulated clock mode Message from syslogd@oddscollector7 at Thu Jan 10 05:42:08 2008 ... oddscollector7 kernel: CPU0: Running in modulated clock mode |
據說是2.6 內核的溫度閥值過低造成
屏蔽掉這個提示的辦法:
修改/etc/syslog.conf,注釋掉 *.emerg 這一行,然后:
/etc/init.d/syslogd restart
P4處理器的thermal monitoring打印的信息.(你的是P4吧?), 這個信息
說明你的CPU核的溫度已經超出范圍. (你從哪里看到你的溫度是正常的?)
注:AMD的CPU也一樣(我的機器是AMD雙核4000/+)
P4處理器內部的thermal monitoring設置了技術來檢測是否P4 core溫度是否
超過一個閥值(trip temperature, 廠家定義), 這個溫度傳感器檢測到的溫度
若超過的trip temperature(也即是打印信息中的那個threashold閥值), 就產生
一個中斷.
linux kernel定義了這個中斷句柄, 即打印下面的這些信息.
若不想看到這個信息, 可以重編譯內核禁用CONFIG_X86_MCE_P4THERMAL選項,
即make menuconfig中的
[Processor type and features]-> [check for P4 thermal throttling interrupt.]
這個選項去除.
若不想編譯內核, 就在啟動時增加命令行選項nomce, 但這樣做就禁用了
所有P4的Machine Check能力(包括CPU熱監視能力)
cat /proc/cpuinfo 然后在flags那一項可以看到是否支持MCE(大部分都支持)
. 用root登陸。
2. 編輯啟動配置文件:/boot/grub/menu.lst
3. 添加“nomce”啟動選項
例如:
title Red Hat Enterprise Linux AS (2.6.9-xx.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.6.9-xx.ELsmp ro root=/dev/VolGroup00/LogVol00 rhgb quiet nomce
最后, 不管你怎么不愿意看到這些信息, 都無法否定你的CPU已經過熱, 你的
CPU時鐘的觸發(上升下降研)頻率已經被降低, 你的系統性能應該已經降低了.
最治本的方法是再修理你的CPU啊, 風扇啊, 主板啊.
如果BIOS中有相關溫度報警的選項可以關掉.