次のようなチップが搭載されている場合,マザーボード上の各種電圧(+3.3V,+5V,+12V,-5V,-12V,VCCなど)やCPUファンのスピード,温度などが測定できる。
■代表的なモニタチップ | ||||||||||
|
モニタチップの監視は,通常BIOS上で確認ができるようになっているが,OS上でも見ることができるようさまざまなツールが用意されている。
Linux上でこれらのモニタチップから情報取得したい場合,Lm_sensorと呼ばれるツールを利用すれば比較的容易だ。導入手順を紹介していこう。
Lm_sensorインストール後にコマンドラインでモニタチップ状態を確認したところ
Lm_sensorは,Linuxカーネルの状態によってはあらかじめパッチを当てておかなければならない。ここで挙げるRed Hat Linux 7.2(カーネル2.4.7)ではパッチを当てる必要がないため,Red Hat作成のRPM版パッケージをインストールするだけで済む。Lm_sensorのサイトには,2002年1月現在,Red Hat Linux 6.1/6.2,Mandrake Linux 7.0用のRPMが公開されている。
Red Hat Linux 6.2環境であれば,kernel-i2c-2.5.1-1rh62.i386.rpmをインストール(パッチ当て)しておく必要がある。
# mount /mnt/cdrom # cd /mnt/cdrom/RedHat/RPMS/ # rpm -Uvh lm_sensors-2.5.5-6.i386.rpm # sensors-detect 〜途中のログを全部見る〜 To load everything that is needed, add this to some /etc/rc* file: #----cut here---- # I2C adapter drivers modprobe i2c-i801 modprobe i2c-isa # I2C chip drivers modprobe eeprom modprobe w83781d #----cut here---- To make the sensors modules behave correctly, add these lines to either /etc/modules.conf or /etc/conf.modules: #----cut here---- # I2C module options alias char-major-89 i2c-dev #----cut here---- |
ここまででインストールからセットアップまでが終了する。ほとんどの問い合わせでは,標準のまま(英大文字の選択肢)で進めれば自動的にチップが認識されるだろう。
次に,設定最後に表示されたように2つのファイルを編集しておいて,マシン起動時に必要なモジュールが読み込まれるようにしておく。
# vi /etc/rc.d/rc.local 〜以下の行を加える(モニタチップ環境に依存するので,この例の設定をそのまま使えるとは限らない)〜 # I2C adapter drivers modprobe i2c-i801 modprobe i2c-isa # I2C chip drivers modprobe eeprom modprobe w83781d |
次に,/etc/modules.conf,あるいは/etc/conf.modulesにエイリアスを加えておく。
# vi /etc/modules.conf 〜以下の行を加える(モニタチップ環境に依存するので,この例の設定をそのまま使えるとは限らない)〜 # I2C module options alias char-major-89 i2c-dev |
これでマシンを再起動(# reboot)すれば,i2cモジュールが有効となってモニタチップの状態を見られるようになる。
再起動後は,次のようにコマンド入力すれば,電圧やファン回転数,温度などが確認できるはずだ。
# sensors W83627HF (I/O controller w/ HW monitoring W83782D, fan speed control) w83627hf-isa-0290 Adapter: ISA adapter Algorithm: ISA algorithm VCore 1: +1.68 V (min = +1.53 V, max = +1.87 V) VCore 2: +1.45 V (min = +1.53 V, max = +1.87 V) +3.3V: +3.26 V (min = +2.97 V, max = +3.63 V) +5V: +4.94 V (min = +4.50 V, max = +5.48 V) +12V: +11.86 V (min = +10.79 V, max = +13.11 V) -12V: -11.88 V (min = -13.21 V, max = -10.90 V) -5V: +2.71 V (min = -5.51 V, max = -4.51 V) V5SB: +5.39 V (min = +4.50 V, max = +5.48 V) VBat: +3.12 V (min = +2.70 V, max = +3.29 V) fan1: 4383 RPM (min = 3000 RPM, div = 2) fan2: 0 RPM (min = 3000 RPM, div = 2) fan3: 0 RPM (min = 750 RPM, div = 8) temp1: +35.0庵 (limit = +60庵, hysteresis = +50庵) sensor = thermistor temp2: +39.0庵 (limit = +60庵, hysteresis = +50庵) sensor = thermistor temp3: +36.0庵 (limit = +60庵, hysteresis = +50庵) sensor = thermistor vid: +1.70 V alarms: Chassis intrusion detection beep_enable: Sound alarm disabled 〜注:「庵」は,温度単位が文字化けしているもの〜 |
上記の表示例で温度が3つ表示されていることが分かるが,temp1とtemp3がマザーボード上,temp2がCPU温度を示していることが多い。ファン回転数は,通常fan1だけに表示されるためひと目で分かるだろう。
また,これらの情報は次のように指定しても確認することができる。
# cd /proc/sys/dev/sensors ; grep -r . . | grep isa ./w83627hf-isa-0290/sensor3:3435 ./w83627hf-isa-0290/sensor2:3435 ./w83627hf-isa-0290/sensor1:3435 ./w83627hf-isa-0290/pwm2:255 ./w83627hf-isa-0290/pwm1:255 ./w83627hf-isa-0290/beep:0 0 ./w83627hf-isa-0290/alarms:0 ./w83627hf-isa-0290/fan_div:2 2 8 ./w83627hf-isa-0290/vid:1.70 ./w83627hf-isa-0290/temp3:60.0 50.0 37.5 ./w83627hf-isa-0290/temp2:60.0 50.0 41.5 ./w83627hf-isa-0290/temp1:60.0 50.0 37.0 ./w83627hf-isa-0290/fan3:750 0 ./w83627hf-isa-0290/fan2:3000 0 ./w83627hf-isa-0290/fan1:3000 4383 ./w83627hf-isa-0290/in8:2.70 3.29 3.15 ./w83627hf-isa-0290/in7:2.68 3.26 3.21 ./w83627hf-isa-0290/in6:0.70 1.02 3.32 ./w83627hf-isa-0290/in5:0.33 0.78 0.59 ./w83627hf-isa-0290/in4:2.84 3.45 3.12 ./w83627hf-isa-0290/in3:2.68 3.26 2.92 ./w83627hf-isa-0290/in2:2.97 3.63 3.26 ./w83627hf-isa-0290/in1:1.53 1.87 1.45 ./w83627hf-isa-0290/in0:1.53 1.87 1.68 ./chips:264 w83627hf-isa-0290 |
ここまでの値は,何らかの加工なくしては生きてこないだろう。もっとグラフィカルに統計として見たい場合には,MRTGやRRDToolにデータを取り込ませるのもよいだろう。次のようなグラフとして見せることも可能だ。
Lm_sensor経由でデータを受け取ってCPU温度をRRDToolでグラフ化したもの
今回は,Lm_sensorのインストールをRPMで行った例を紹介した。ほかのディストリビュートバージョンでは,ソースからのコンパイルが必要なことも多く,その場合は手間がかかるだろう。機会を改めて紹介したい。
Copyright © ITmedia, Inc. All Rights Reserved.