« 【お知らせ】HDD障害による報告 | メイン | ロンフォールの唄 »

2005年07月25日

【Linux】CPUの温度やファンの回転数などをモニタする

自分でサーバを立ち上げた人は、自分の鯖が現在どのような状況なのか、うまく動いているのか、問題は無いのか、常にチェックしていたい気持ちがあると思います。
PCを自作できる人はご存知のようですが、マザーボードには電源電圧やCPUの温度、CPUファンの回転数などをモニタする機能がはじめからあり、目に見えませんがそれらが常に動いているようです。
パソコンを立ち上げる時に操作できるBIOS画面で、それらを確認することができるそうな。

なので、この機能を使って、サーバの温度やファンの回転数を監視する設定をインストールします。
「lm_sensors」というプログラムを利用します。

lm_sensors公式サイト

公式サイトからダウンロードできるが、Fedora core 3 では、最初からパッケージとして用意されていて、環境によっては最初からインストールされている。
インストールされていないなら、yumを使ってインストールする(初心者にはオススメ)。

# yum install lm_sensors

最新版にしたいひとは、自分でパッケージをダウンロードしてインストールする。

# rpm -Uvh lm_sensors-(バージョン).rpm

インストールできたら、センサーの設定を行う。センサーの設定とは、自分のサーバで使われているパーツが何かを判別・特定して、デフォルトの数字を認識する前準備(だと思う)。

# sensors-detect
このコマンドを打つことで、対話式の設定がはじまる。質問が英語でどんどん出てくるが、基本的にエンターキーを押しておけばOK。エンターキーは「yes」を選択・もしくはデフォルトの数値を設定する意味になっている。ここの質問は、「~の検出をしますか?」とかそんなのばっかりなので、連打でかまわないと思う。 ※lm_sensorsは、すべてのチップセットおよびセンサーチップに対応しているわけではなく、マイナーなパーツを使っている人は、もしかしたら自分で設定を調べて入力する手間があるかもしれない。そういう場合は運が悪いと思って諦めよう。いや、詳しい人に聞いてみよう。

連打していると、いつのまにか設定ウィザードが終わっている。
最後に

To make the sensors modules behave correctly, add these lines to
/etc/modules.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

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 lm85
modprobe eeprom
modprobe smsc47m1
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----

という一文が表示されている。ようは「cut here」で囲まれている部分を切り取って、それぞれ指定のファイルに貼れということ。
ただし、Fedora core の場合は、ここで指定されたファイル名とは違っている。

(1) /etc/modules.conf → /etc/modprobe.conf
(2) /etc/rc* → /etc/rc.local

2つのファイルの最後にそれぞれの追加文を記入して保存したら、サーバを再起動する。

再起動したら「lsmod」とコマンドを打ってみて、モジュールが読み込まれているか確認する。

■センサー動作確認
「sensors」コマンドを入力して、パーツ(ハードウェア)の情報を表示してみる。

ex.

$ sensors
smsc47m1-isa-0800
Adapter: ISA adapter
fan1: 2671 RPM (min = 2997 RPM, div = 8) ALARM
fan2: 0 RPM (min = 2997 RPM, div = 8) ALARM

eeprom-i2c-0-50
Adapter: SMBus I801 adapter at efa0
Memory type: DDR SDRAM DIMM
Memory size (MB): 256

lm85b-i2c-0-2e
Adapter: SMBus I801 adapter at efa0
V1.5: +1.52 V (min = +1.42 V, max = +1.58 V)
VCore: +1.49 V (min = +0.00 V, max = +0.00 V) ALARM
V3.3: +3.30 V (min = +3.13 V, max = +3.47 V)
V5: +5.03 V (min = +4.74 V, max = +5.26 V)
V12: +11.81 V (min = +11.38 V, max = +12.62 V)
CPU_Fan: 2607 RPM (min = 4000 RPM) ALARM
CPU: +39°C (low = +10°C, high = +50°C)
Board: +38°C (low = +10°C, high = +35°C) ALARM
Remote: +36°C (low = +10°C, high = +35°C) ALARM
ERROR: Can't get PWM1 data!
ERROR: Can't get PWM2 data!
ERROR: Can't get PWM3 data!

うっ、微妙にエラーでてる・・・。
「ALARM」の部分は、アラームで、危険な域に達しているっぽい。
これは安全領域の設定の調整を自分でやらなくてはいけないのかな。

Posted by yukino at 2005年07月25日 10:48

リンクURL

この記事の直接URL:

トラックバックURL

このエントリーのトラックバックURL: