以前、Linux でハードウェアの温度を取得するにあたり、こんな記事を書きました。
先日 PC の CPU を換装したので、改めて sensors を実行したところ、今までと同様に期待通りの出力結果が得られてます。
sensors の出力結果のはてな?
実はずっと気になってた事があります。
it87 ドライバをロードして sensors の出力結果を見ると、
$ sensors
....(ざっくり省略)....
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +39.8°C
Tccd1: +38.5°C
it8686-isa-0a40
Adapter: ISA adapter
in0: 960.00 mV (min = +0.00 V, max = +3.06 V)
in1: 2.02 V (min = +0.00 V, max = +3.06 V)
in2: 2.00 V (min = +0.00 V, max = +3.06 V)
in3: 2.02 V (min = +0.00 V, max = +3.06 V)
in4: 996.00 mV (min = +0.00 V, max = +3.06 V)
in5: 900.00 mV (min = +0.00 V, max = +3.06 V)
in6: 1.36 V (min = +0.00 V, max = +3.06 V)
3VSB: 3.26 V (min = +0.00 V, max = +6.12 V)
Vbat: 3.05 V
fan1: 475 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
temp1: +26.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: +30.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +39.0°C (low = +127.0°C, high = +127.0°C) sensor = AMD AMDSI
temp4: +29.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp5: +36.0°C (low = +0.0°C, high = -120.0°C) sensor = thermistor
temp6: +41.0°C (low = +0.0°C, high = -120.0°C) sensor = thermistor
intrusion0: ALARM
センサーから取得した温度が temp1 〜 temp6 のように表現されていますが、この値が何を指すのかよくわかりません。
BIOS 画面での温度表現は
BIOS 画面の「 M.I.T. 」メニューから「 Smart Fan 5 」を選択すると、画面の右下に次のような 6 種類の温度が表示されます。
🌡 | CPU | 41.0℃ | 🌡 | System 1 | 27.0℃ |
🌡 | Chipset | 31.0℃ | 🌡 | PCIEX16 | 30.0℃ |
🌡 | VRM MOS | 34.0℃ | 🌡 | VSOC MOS | 39.0℃ |
前述の temp1 〜 temp6 はこれらを指すと類推して、適度に負荷をかけつつ、sensors と BIOS 画面の値の変動を見てると、それなりに傾向が分かります。
BIOS 画面のセンサーと sensors の対応表
そして、私なりに導出した結果がこちらです。
CPU | temp3 | System 1 | temp1 |
Chipset | temp2 | PCIEX16 | temp4 |
VRM MOS | temp5 | VSOC MOS | temp6 |
私の勝手な決めつけなので、誤ってるかもしれません。
何処かに正規の対応表が存在するなら、ぜひ教えて欲しいです。
sensors の出力結果のラベルを変更
この対応表が正しいとして、sensors から出力される temp1 〜 temp6 の表記を変更してみます。
エディタ類で/etc/sensors.d/Gigabyte-B450-AORUS-PRO-WIFI
というファイルを用意し、次の内容を記述します。
chip "it8686-isa-0a40"
label temp1 "System1 Temp"
label temp2 "Chipset Temp"
label temp3 "CPU Temp"
label temp4 "PCIEX16 Temp"
label temp5 "VRM MOS Temp"
label temp6 "VSOC MOS Temp"
ここでは、it87 ドライバで認識される "it8686-isa-0a40" の出力結果の内、 temp1 〜 temp6 の各ラベルを文字列で指定しています。
そして、sensors を実行すると、
$ sensors
....(ざっくり省略)....
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +47.6°C
Tccd1: +42.8°C
it8686-isa-0a40
Adapter: ISA adapter
in0: 960.00 mV (min = +0.00 V, max = +3.06 V)
in1: 2.02 V (min = +0.00 V, max = +3.06 V)
in2: 2.00 V (min = +0.00 V, max = +3.06 V)
in3: 2.02 V (min = +0.00 V, max = +3.06 V)
in4: 996.00 mV (min = +0.00 V, max = +3.06 V)
in5: 900.00 mV (min = +0.00 V, max = +3.06 V)
in6: 1.36 V (min = +0.00 V, max = +3.06 V)
3VSB: 3.26 V (min = +0.00 V, max = +6.12 V)
Vbat: 3.05 V
fan1: 544 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
System1 Temp: +28.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
Chipset Temp: +32.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
CPU Temp: +49.0°C (low = +127.0°C, high = +127.0°C) sensor = AMD AMDSI
PCIEX16 Temp: +31.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
VRM MOS Temp: +39.0°C (low = +0.0°C, high = -120.0°C) sensor = thermistor
VSOC MOS Temp: +45.0°C (low = +0.0°C, high = -120.0°C) sensor = thermistor
intrusion0: ALARM
無事、ラベルの表記を変更する事ができました。