例年よりもずいぶん早めに梅雨が明け、
最近の猛暑は人間にとってもこたえますが、
謎の警告音
授業や地区の営農組合やらであわただしかった時期がすぎ、
新しいGCC-4.
最近のGCCは数値演算用にGMP
GCC-4.
「あれれ、
何が起きたのだろう?
さて、
今使っているGIGABYTEのマザーボードには"PC-Health"という機能があり、
どうやらあのビープ音はCPUの温度が上がりすぎたことへの警告音だったようですが、
最近のマザーボードやCPUには温度監視用のセンサが組み込まれており、
lm-sensorsのインストール
lm-sensors
もっとも、
CPUやマザーボードに組み込まれているセンサには明確な規格が無いようで、
% ls /lib/modules/2.6.38.4-plamo64/kernel/drivers/hwmon/ abituguru.ko adm9240.ko dme1737.ko hwmon-vid.ko lm75.ko lm95241.ko sis5595.ko w83627ehf.ko abituguru3.ko ads7828.ko ds1621.ko hwmon.ko lm77.ko ltc4215.ko smsc47b397.ko w83627hf.ko ad7414.ko adt7462.ko f71805f.ko i5k_amb.ko lm78.ko ltc4245.ko smsc47m1.ko w83781d.ko ad7418.ko adt7470.ko f71882fg.ko ibmaem.ko lm80.ko max1111.ko smsc47m192.ko w83791d.ko ... adm1031.ko coretemp.ko hp_accel.ko lm70.ko lm93.ko sht15.ko vt8231.ko
最近のLinuxでは、
一方、
sensors-detectコマンドを実行すると、
# sensors-detect
# sensors-detect revision 5861 (2010-09-21 17:21:05 +0200)
# System: Gigabyte Technology Co., Ltd. P55-USB3
This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.
Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no):
....
AMD Family 11h thermal sensors... No
Intel Core family thermal sensor... Success!
(driver `coretemp')
Intel Atom thermal sensor... No
....
Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no):
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'... No
Trying family `SMSC'... No
Trying family `VIA/Winbond/Nuvoton/Fintek'... No
Trying family `ITE'... Yes
Found `ITE IT8720F Super IO Sensors' Success!
(address 0x290, driver `it87')
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'... No
...
Now follows a summary of the probes I have just done.
Just press ENTER to continue:
Driver `it87':
* ISA bus, address 0x290
Chip `ITE IT8720F Super IO Sensors' (confidence: 9)
Driver `coretemp':
* Chip `Intel Core family thermal sensor' (confidence: 9)
Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): no
To load everything that is needed, add this to one of the system
initialization scripts (e.g. /etc/rc.d/rc.local):
#----cut here----
# Chip drivers
modprobe coretemp
modprobe it87
/usr/bin/sensors -s
#----cut here----
...
Core i7機でsensors-detectを実行したところ、
メッセージの最後にあるように、
上記モジュールドライバを組み込むと、
% sensors coretemp-isa-0000 Adapter: ISA adapter Core 0: +50.0°C (high = +83.0°C, crit = +99.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +53.0°C (high = +83.0°C, crit = +99.0°C) coretemp-isa-0002 Adapter: ISA adapter Core 2: +50.0°C (high = +83.0°C, crit = +99.0°C) coretemp-isa-0003 Adapter: ISA adapter Core 3: +47.0°C (high = +83.0°C, crit = +99.0°C) it8720-isa-0290 Adapter: ISA adapter in0: +0.85 V (min = +0.00 V, max = +4.08 V) in1: +1.58 V (min = +0.00 V, max = +4.08 V) in2: +3.39 V (min = +0.00 V, max = +4.08 V) +5V: +2.94 V (min = +0.00 V, max = +4.08 V) in4: +0.03 V (min = +0.00 V, max = +4.08 V) in5: +3.09 V (min = +0.00 V, max = +4.08 V) in6: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM 5VSB: +2.94 V (min = +0.00 V, max = +4.08 V) Vbat: +3.30 V fan1: 2335 RPM (min = 10 RPM) fan2: 0 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) fan4: 0 RPM (min = 0 RPM) temp1: +48.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor temp2: +25.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor temp3: +39.0°C (low = +127.0°C, high = +70.0°C) sensor = thermistor
sensorsコマンドを実行すると、
sensorsコマンドを使えば動作中のCPU温度を知ることができますが、
KDEのシステムモニタウィジェットではlm-sensorsから得られる温度情報だけでなく、
本原稿はKDE環境上でEmacsを使って書いていますが、
カーネルコンパイルとCPU温度
さて、
make -j4でカーネルのビルドを始めると数分程度でCPUの温度が80℃に逹し、
システムモニタのCPU負荷のグラフを見ると、
カーネルのビルド以外の作業もあれこれ試してみたところ、
このマシンはオーバークロックしているわけでもないし、
この問題が発生するのはカーネルとGCCのビルド時くらいなので、
