LinuxでCPUやマザーボードから温度を取得する方法

  • 2019年9月26日
  • 2019年9月26日
  • Linux, OS

Linuxでは標準で(マシンのマザーボードやCPUなどが対応していれば)簡単に温度センサーの値にアクセスできる仕組みがあるようです。

cat /sys/class/thermal/thermal_zone数字/temp

などとすると、マザーボード上に存在する何かしらの温度センサーの値を拾うことができるようです。

ただし、センサーの値が読み取れるファイルの位置やディレクトリ構造などはマシンによって異なるため、じぶんでそれっぽい場所を探す必要があります。

$ cat /sys/class/thermal/thermal_zone0/temp
27800

上記の例の場合は、27800と出ていますが、これは27.800℃を表しているようです。

自分の環境の場合は

$ cat /sys/class/thermal/thermal_zone0/temp
27800
$ cat /sys/class/thermal/thermal_zone1/temp
29800
$ cat /sys/class/thermal/thermal_zone2/temp
44000

といった形で3か所のセンサーの値を読み取ることができました。

ただ、どの値がどの部分の温度なのかはマニュアル等を見ないと知ることができないのが難点です。

CPUの温度を知る方法もありました。

$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_label 
Package id 0
$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input 
44000

$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_label 
Core 0
$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input 
42000

$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_label 
Core 1
$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input 
43000

こちらはlabelも用意されていたため、どの温度なのかわかりやすかったです。

なお、どのセンサーが存在しているのか、どの温度がどの部分のものなのかを正確に知りたい場合はLinux向けの温度チェックツールを使うとわかりやすそうです。

lm_sensors – Arch Linux

参考サイト:

LinuxでCPUの温度を取得する – Qiita

LinuxでCPUの温度やファンの回転数を取得する – パソコン鳥のブログ

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG