浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

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

linux

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の温度やファンの回転数を取得する – パソコン鳥のブログ

  • この記事いいね! (0)