Ubuntuでハードウェア温度を監視する「sensors」入門
lm‑sensors とは?
Ubuntu(や他の多くの Linux ディストリビューション)でハードウェアの温度、電圧、ファン回転数などを取得できるコマンドラインユーティリティです。lm-sensors パッケージに含まれる以下のコマンドが主に使われます。
sensors…… 検出されたセンサーの現在値を表示sensors-detect…… カーネルモジュールを自動で探し、ロード用スクリプトを生成fancontrol…… ファンの回転数を温度に応じて自動調整(追加パッケージfancontrol)
インストールと基本設定
Ubuntu の公式リポジトリに含まれているので、端末で以下のコマンドを実行するだけです。
# apt update
# apt install lm-sensors
# apt install fancontrol # ファン制御を使う場合は別途インストール
インストール後、すぐに sensors を実行すると「Could not find any sensors」が出ることがあります。これはまだカーネルモジュールがロードされていないためです。
ハードウェアの検出 (sensors-detect)
次に sensors-detect を実行し、ハードウェア情報を自動で検出させます。スクリプトは対話式なので、質問に「Yes」か「No」で答えていきます。
# sudo sensors-detect
主な質問例:
- Are you sure you want to scan? (y/N) →
y - Do you want to add the new modules to /etc/modules? (y/N) →
y
検出が完了したら、提案されたモジュールをロードします。
# sudo service kmod start # もしくは
# sudo modprobe coretemp # 例: CPU 温度センサー
# sudo modprobe w83627ehf # 例: チップセットベースのセンサー
再起動すると自動でロードされます。
実際に温度を読む
モジュールが正しくロードされたら、sensors コマンドで取得できます。
$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +48.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +46.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +45.0°C (high = +80.0°C, crit = +100.0°C)
acpitz-virtual-0
Adapter: Virtual device
temp1: +30.0°C (crit = +105.0°C)
出力はハードウェアごとに「Adapter」欄が付き、温度、警告閾値 (high)、致命的閾値 (crit) が表示されます。必要に応じて、/etc/sensors3.conf で表示フォーマットや閾値をカスタマイズできます。
ファン制御 (fancontrol)
CPU や GPU の温度が上がったときに自動でファンを高速回転させたい場合は、fancontrol デーモンを使用します。設定は少し手間ですが、以下の手順で構築できます。
- pwmconfig の実行
# sudo pwmconfig接続されている PWM (Pulse‑Width Modulation) ファンを検出し、テスト用に回転数を変化させます。テストが正常に終了すれば、
/etc/fancontrolが生成されます。 - fancontrol デーモンの起動
# sudo systemctl enable fancontrol # sudo systemctl start fancontrol - 設定の微調整
/etc/fancontrolの内容は次のようになっています。# /etc/fancontrol INTERVAL=10 FCTEMPS=hwmon0/pwm1=hwmon0/temp2_input FCFANS=hwmon0/pwm1=hwmon0/fan1_input MINTEMP=hwmon0/pwm1=30 MAXTEMP=hwmon0/pwm1=70 MINSTART=hwmon0/pwm1=150 MINSTOP=hwmon0/pwm1=80それぞれの項目は「PWM 出力 ↔ 温度入力」や「最小回転数」「最大回転数」などを指定します。自分の環境に合わせて調整してください。
fancontrol が有効にならないことがあります。その場合は BIOS の設定や tlp などの電源管理ツールで対処してください。GUI で見える化するツール
コマンドラインだけでなく、デスクトップ環境上で温度やファン情報をグラフ表示したい場合は以下のアプリが便利です。
- Psensor –
sudo apt install psensorでインストール。リアルタイムで温度・ファン・CPU 使用率をトレイアイコンに表示。 - hardinfo –
sudo apt install hardinfo。システム情報とともに「Sensors」タブで数値を確認。 - GNOME Sensors Applet – GNOME Shell 用の拡張機能。extensions.gnome.org からインストール。
これらのツールは lm-sensors がバックエンドとして動作するため、まずは sensors が正常に動作していることを確認してから導入してください。
よくあるトラブルと対処法
1. センサーが検出されない
- BIOS/UEFI で「Hardware Monitoring」や「Fan Control」系の設定が無効になっていないか確認する。
- 最新のカーネルにアップデートし、古いカーネルモジュールが原因の場合は新バージョンで解決されることが多い。
- PCI デバイスの場合は
pciutilsパッケージのlspci -vで該当チップが認識されているか確認。
2. fancontrol が起動しない
- PWM 出力がロックされている(BIOS が独占)場合は BIOS のファン制御オプションを「Manual」や「User」へ変更。
systemctl status fancontrolでエラーログを確認し、設定ファイルのパスや権限が正しいかチェック。- Ubuntu 22.04 以降は
systemd-modules-load.serviceが自動でモジュールをロードしますが、手動でmodprobeしたあとにsystemctl restart fancontrolすると解決することがあります。
3. 温度が非常に高い/低いと表示される
- センサーのキャリブレーションが必要なケース。
/etc/sensors.d/に手動でtemp1_offsetなどのオフセットを設定。 - CPU の SMT(Hyper‑Threading)を無効にすると温度測定が安定する場合があります(ただしパフォーマンス低下に注意)。
まとめ
Ubuntu でハードウェアの温度やファン速度を監視・制御するには、まず lm-sensors パッケージをインストールし、sensors-detect で検出したモジュールをロードします。その後は sensors コマンドで簡単に数値を確認でき、必要に応じて fancontrol による自動ファン制御や、Psensor・hardinfo といった GUI ツールで視覚的に管理可能です。
トラブルが出たときは「モジュールのロード状態」「BIOS の設定」「カーネルバージョン」の3点を中心にチェックすれば、ほとんどの問題は解決できます。
快適で安全な Ubuntu 環境を保つために、ぜひ本記事の手順を参考に lm-sensors を活用してみてください。