Difference between revisions of "Lm sensors (日本語)"

From ArchWiki
Jump to: navigation, search
m (いろいろ修正)
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
[[Category:Status monitoring and notification (日本語)]]
 
[[Category:Status monitoring and notification (日本語)]]
 
[[Category:CPU (日本語)]]
 
[[Category:CPU (日本語)]]
[[Category:Internationalization (日本語)]]
 
 
[[cs:Lm sensors]]
 
[[cs:Lm sensors]]
 +
[[en:Lm sensors]]
 
[[es:Lm sensors]]
 
[[es:Lm sensors]]
 
[[ru:Lm sensors]]
 
[[ru:Lm sensors]]
 
[[uk:Lm sensors]]
 
[[uk:Lm sensors]]
 
[[zh-CN:Lm sensors]]
 
[[zh-CN:Lm sensors]]
[[ja:Lm sensors]]
 
 
{{lowercase title}}
 
{{lowercase title}}
 
[http://www.lm-sensors.org/ lm_sensors] (Linux monitoring sensors) は温度、電圧、ファンを監視するフリーでオープンソースなツールとドライバです。
 
[http://www.lm-sensors.org/ lm_sensors] (Linux monitoring sensors) は温度、電圧、ファンを監視するフリーでオープンソースなツールとドライバです。
このドキュメントではインストールの方法、設定、lm_sensorsを使ってあなたのCPU温度やマザーボードの温度とファンスピードを監視する方法を説明します。
+
このドキュメントでは lm_sensors のインストール・設定の方法と、CPU 温度やマザーボードの温度、ファンスピードを監視する方法を説明します。
  
 
== 使い方 ==
 
== 使い方 ==
 
=== インストール ===
 
=== インストール ===
{{Pkg|lm_sensors}}を[[Official Repositories|official repositories]]からインストールします。
+
{{Pkg|lm_sensors}} を[[Official Repositories (日本語)|公式レポジトリ]]からインストールします。
  
=== lm_sensorsの設定 ===
+
=== lm_sensors の設定 ===
  
検出とカーネルモジュールのリストを作成するために'''sensors-detect'''を使用します。
+
検出とカーネルモジュールのリストを作成するために '''sensors-detect''' を使用します。
 
  # sensors-detect
 
  # sensors-detect
起動時に自動的にカーネルモジュールを読み込むためのファイル{{ic|/etc/conf.d/lm_sensors}}{{ic|sensors}}がデーモンによって作成されます。いくつかのハードウェアを検索したいかどうか質問されるでしょう。何か問題を起こしたくなけ{{Keypress|Enter}} を押すべきです。
+
上のコマンドを実行すると、{{ic|sensors}} デーモンが起動時に自動的にカーネルモジュールを読み込むためのファイル {{ic|/etc/conf.d/lm_sensors}} が作成されます。どのハードウェアを検索したいかどうか質問されるでしょう。デフォルトが "安全" な答えに設定されているので大抵の場合、全ての質問に {{ic|Enter}} を押すだけでかまいません。
一連の検出が終わったら検出の結果が提示されます。ここに私のシステムの結果を例とします。
+
 
 +
一連の検出が終わったら検出の結果が提示されます。例:
 
{{hc|# sensors-detect|<nowiki>
 
{{hc|# sensors-detect|<nowiki>
 
Now follows a summary of the probes I have just done.
 
Now follows a summary of the probes I have just done.
Line 31: Line 31:
 
   * Chip `Intel Core family thermal sensor' (confidence: 9)
 
   * Chip `Intel Core family thermal sensor' (confidence: 9)
 
</nowiki>}}
 
</nowiki>}}
もしあなたがデーモンを使う気でいるなら、作成するかどうかと聞かれた時に'''YES'''と答えます。{{ic|/etc/conf.d/lm_sensors}}.
+
もしあなたがデーモンを使う気でいるなら、{{ic|/etc/conf.d/lm_sensors}} を作成するかどうか聞かれた時に '''YES''' と答えてください。
  
起動時に自動的にカーネルモジュールを読み込むには、{{ic|/etc/rc.conf}}の{{ic|DAEMONS}}配列に{{ic|sensors}}を追加します。
+
起動時に自動的にカーネルモジュールを読み込むには、次を実行する必要があります:
DAEMONS=(syslog-ng crond ... sensors ...)
+
 
+
systemdではこのようにする必要があります:
+
 
  systemctl enable lm_sensors.service
 
  systemctl enable lm_sensors.service
  
もう一つ他に、デーモンの代わりとして使うには、{{ic|/etc/modules-load.d/lm_sensors.conf}}の配列に{{ic|MODULES}}を追加します
+
また、デーモンを使う代わりに、モジュールを {{ic|/etc/modules-load.d/lm_sensors.conf}} {{ic|MODULES}} 配列に追加することもできます:
 
  coretemp
 
  coretemp
 
  it87
 
  it87
 
  acpi-cpufreq
 
  acpi-cpufreq
  
=== 自動的にlm_sensorsを展開する ===
+
=== 自動的に lm_sensors を展開する ===
 
If you wish to deploy lm-sensors on multiple diferent linux machines issue is that sensors-detect ask you quite a few questions. There are few tricks that you can use to automate replies.
 
If you wish to deploy lm-sensors on multiple diferent linux machines issue is that sensors-detect ask you quite a few questions. There are few tricks that you can use to automate replies.
 
First one is if you wish to accept defaults which sensors-detect suggest you need just to press [ENTER] all the time. To automate this use this one liner:
 
First one is if you wish to accept defaults which sensors-detect suggest you need just to press [ENTER] all the time. To automate this use this one liner:
Line 54: Line 51:
 
  # yes | sensors-detect
 
  # yes | sensors-detect
  
=== lm_sensorsをテストする ===
+
=== lm_sensors をテストする ===
セットアップをテストするには、手動もしくは{{ic|/etc/rc.d/sensors}}を利用し、カーネルモジュールを読み込む必要があります。両方使用してはいけません。
+
セットアップをテストするには、手動で、もしくは [[systemd (日本語)|systemd]] のサービスファイルを利用し、[[kernel modules (日本語)|カーネルモジュール]]を読み込む必要があります。両方使用してはいけません。
  
 
例: 手動で読み込む方法
 
例: 手動で読み込む方法
Line 61: Line 58:
 
  # modprobe coretemp
 
  # modprobe coretemp
 
例: スクリプトを利用する方法
 
例: スクリプトを利用する方法
  # rc.d start sensors
+
  # systemctl enable lm_sensors
 +
# systemctl start lm_sensors
  
sensorsを実行するとこのようなものが表示されるはずです。
+
sensors を実行するとこのようなものが表示されるはずです。
 
{{hc|$ sensors|<nowiki>
 
{{hc|$ sensors|<nowiki>
 
coretemp-isa-0000
 
coretemp-isa-0000
Line 105: Line 103:
 
</nowiki>}}
 
</nowiki>}}
  
 
+
=== SPD の値をメモリーモジュールから読み込む (任意) ===
=== SPDの値をメモリーモジュールから読み込む (オプション) ===
+
SPD タイミングの値をあなたのメモリーモジュールから読み込むには、{{pkg|i2c-tools}} を[[Official Repositories (日本語)|公式リポジトリ]]からインストールします。
SPDタイミングの値をあなたのメモリーモジュールから読み込むには、{{pkg|i2c-tools}}を[[Official Repositories|official repositories]]からインストールします。
+
i2c-tools をインストールしたら、{{ic|eeprom}} [[Kernel modules (日本語)|カーネルモジュール]]を読み込む必要があります。
一度i2c-toolsをインストールされた事があるならば、{{ic|eeprom}} [[Kernel_modules|kernel module]]を読み込む必要があります :
+
 
  # modprobe eeprom
 
  # modprobe eeprom
最後に、あなたのメモリー情報を{{ic|decode-dimms}}で読み込む事ができます。
+
最後に、あなたのメモリー情報を {{ic|decode-dimms}} で見る事ができます。
これは部分的な例です :
+
 
 +
以下はあるマシンの出力の一部です:
 
{{hc|$ decode-dimms|<nowiki>
 
{{hc|$ decode-dimms|<nowiki>
 
# decode-dimms version 5733 (2009-06-09 13:13:41 +0200)
 
# decode-dimms version 5733 (2009-06-09 13:13:41 +0200)
Line 178: Line 176:
  
 
== センサーデータの利用 ==
 
== センサーデータの利用 ==
=== グラフィカルユーザーエンド ===
+
=== グラフィカルフロントエンド ===
これらはセンサーデータのためのいくつかのフロントエンドです。
+
センサーデータのフロントエンドが多数あります。
*{{Pkg|xsensors}} - lm_sensorsのためのX11 インターフェースです。
+
*{{Pkg|xsensors}} - lm_sensors の X11 インターフェースです。
*{{Pkg|xfce4-sensors-plugin}} - lm_sensorsを[[Xfce]]パネルへ追加するためのプラグインです。
+
*{{Pkg|xfce4-sensors-plugin}} - lm_sensors を [[Xfce (日本語)|Xfce]] パネルへ追加するためのプラグインです。
*[[conky]] - Conkyは複雑な設定を持つtorsmoのXベースのためのシステムモニターです。
+
*[[conky]] - Conky は高度で設定を行うことができる torsmo ベースの X 向けシステムモニターです。
*{{Pkg|kdeutils-superkaramba}} - Superkaramba はKDEデスクトップのためのウィジェット作成をするツールです。
+
*{{Pkg|kdeutils-superkaramba}} - Superkaramba は KDE デスクトップのためのウィジェット作成をできるようにするツールです。
詳しくは[http://www.kde-look.org/index.php?xcontentmode=38 karamba section on kde-look.org] を見てください。例えばセンサーデータのためのkarambaフロントエンドを作成します。
+
詳しくは [http://www.kde-look.org/index.php?xcontentmode=38 karamba section on kde-look.org] を見てください。例えばセンサーデータのための karamba フロントエンドがあります。
*{{pkg|sensors-applet}} - [[GNOME]]パネルにハードウェアセンサー、CPU温度、ファンスピード、電圧を読み込んで表示するためのアプレットです。
+
*{{pkg|sensors-applet}} - [[GNOME (日本語)|GNOME]] パネルにハードウェアセンサーからの情報、CPU 温度・ファンスピード・電圧などを表示するためのアプレットです。
  
 
=== sensord ===
 
=== sensord ===
これはsensord({{Pkg|lm_sensors}}パッケージの中に入っています)と呼ばれるオプショナルデーモンで、ラウンドロビンデータベース(rrd)などのために視覚的にデータを記録することができます。詳細はsensordのmanページを読んでください。
+
sensord ({{Pkg|lm_sensors}} パッケージの中に入っています) と呼ばれるオプショナルデーモンが存在し、ラウンドロビンデータベース (rrd) にデータを記録して後で視覚化することができます。詳細は sensord の man ページを読んでください。
  
 
==トラブルシューティング==
 
==トラブルシューティング==
=== マルチCPUシステムでコアナンバーを再定義する。 ===
+
=== マルチ CPU 環境でコアの番号を再定義する ===
これは珍しい場合ですが、マルチCPUマザーボードでは物理コアの実際の表示がおかしくなることがあります。
+
稀に、マルチ CPU マザーボードでは実際の物理コアのナンバリングが間違っていることがあります。
Xeonを2個搭載した HP Z600ワークステーションの例を示します。:
+
Xeon を2個搭載した HP Z600 ワークステーションの例を示します:
 
{{hc|$ sensors|<nowiki>
 
{{hc|$ sensors|<nowiki>
 
coretemp-isa-0000
 
coretemp-isa-0000
Line 221: Line 219:
 
</nowiki>}}
 
</nowiki>}}
  
2つ目のCPUからコアの番号が0,1,9,10と報告されています。多くのユーザーは、0,1,2,3,4,5,6,7といった規律的なコアの温度が知りたいでしょう。2つのステップでこの問題を解決します。
+
コアの番号が 0,1,9,10 となっていて、2番目の CPU でも同じ番号が繰り返されていることに注意してください。多くのユーザーは 0,1,2,3,4,5,6,7 といった順番でコアの温度を表示してほしいでしょう。2段階でこの問題を解決します。
  
 
====ステップ 1. どのようなIDがチップから報告されているか====
 
====ステップ 1. どのようなIDがチップから報告されているか====
  
物理チップに対してどのようなオプションが利用できるかどうか{{ic|sensors}}に{{ic|-u}}スイッチをつけて調べます。
+
物理チップに対してどのようなオプションが利用できるか {{ic|sensors}} に {{ic|-u}} スイッチをつけて調べてください:
  
 
{{hc|$ sensors -u coretemp-isa-0000|<nowiki>
 
{{hc|$ sensors -u coretemp-isa-0000|<nowiki>
Line 274: Line 272:
  
 
==== Step 2. コアナンバーを再定義する ====
 
==== Step 2. コアナンバーを再定義する ====
ステップ1の結果を元に、新しい定義を{{ic|/etc/sensors.d/cores.conf}}に作成します。
+
ステップ1の結果を元に、新しい定義を {{ic|/etc/sensors.d/cores.conf}} に作成します:
  
 
{{hc|/etc/sensors.d/cores.conf|<nowiki>
 
{{hc|/etc/sensors.d/cores.conf|<nowiki>
Line 291: Line 289:
 
     label temp12 "Core 7"</nowiki>}}
 
     label temp12 "Core 7"</nowiki>}}
  
問題は解決しました。これらのステップが完了した結果を示します :
+
問題は解決しました。これらのステップが完了した結果を示します:
  
 
{{hc|$ sensors|<nowiki>
 
{{hc|$ sensors|<nowiki>
Line 320: Line 318:
 
</nowiki>}}
 
</nowiki>}}
  
=== Sensors not working since Linux 2.6.31 ===
+
=== Linux 2.6.31 から Sensors が動きません ===
=== Linux 2.6.31からSensorsが動きません ===
+
2.6.21 の変更でいくつかの sensors が動かないようになりました。詳しい説明とエラーの例が [http://www.lm-sensors.org/wiki/FAQ/Chapter3#Mysensorshavestoppedworkinginkernel2.6.31 この FAQ エントリ] にあります。これを修復するには、[[kernel parameters (日本語)|カーネルパラメータ]]に以下を追加してください:
2.6.21の変更では多くのsensorsが動きません。詳細な説明と多くのエラーの例は[http://www.lm-sensors.org/wiki/FAQ/Chapter3#Mysensorshavestoppedworkinginkernel2.6.31 this FAQ entry]を見てください。
+
これを修復するにはカーネルブートライン(例えば [[GRUB]]/[[GRUB2]]などの設定ファイル)に以下を追加し、マシンを再起動してください:
+
 
  acpi_enforce_resources=lax
 
  acpi_enforce_resources=lax
 
{{Warning|In some situations, this may be dangerous. Consult the FAQ for details.}}
 
{{Warning|In some situations, this may be dangerous. Consult the FAQ for details.}}
Line 343: Line 339:
 
This will allow the module to load at boot.
 
This will allow the module to load at boot.
  
==See also==
+
==関連項目==
 
*[[hddtemp]] - Software to read temperatures of hard drives.
 
*[[hddtemp]] - Software to read temperatures of hard drives.
 
*[[monitorix]] - Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resources as possible.
 
*[[monitorix]] - Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resources as possible.

Revision as of 05:02, 18 September 2013

lm_sensors (Linux monitoring sensors) は温度、電圧、ファンを監視するフリーでオープンソースなツールとドライバです。 このドキュメントでは lm_sensors のインストール・設定の方法と、CPU 温度やマザーボードの温度、ファンスピードを監視する方法を説明します。

使い方

インストール

lm_sensors公式レポジトリからインストールします。

lm_sensors の設定

検出とカーネルモジュールのリストを作成するために sensors-detect を使用します。

# sensors-detect

上のコマンドを実行すると、sensors デーモンが起動時に自動的にカーネルモジュールを読み込むためのファイル /etc/conf.d/lm_sensors が作成されます。どのハードウェアを検索したいかどうか質問されるでしょう。デフォルトが "安全" な答えに設定されているので大抵の場合、全ての質問に Enter を押すだけでかまいません。

一連の検出が終わったら検出の結果が提示されます。例:

# sensors-detect
Now follows a summary of the probes I have just done.
Just press ENTER to continue:
Driver `it87':
  * ISA bus, address 0x290
     Chip `ITE IT8718F Super IO Sensors' (confidence: 9)
Driver `coretemp':
  * Chip `Intel Core family thermal sensor' (confidence: 9)

もしあなたがデーモンを使う気でいるなら、/etc/conf.d/lm_sensors を作成するかどうか聞かれた時に YES と答えてください。

起動時に自動的にカーネルモジュールを読み込むには、次を実行する必要があります:

systemctl enable lm_sensors.service

また、デーモンを使う代わりに、モジュールを /etc/modules-load.d/lm_sensors.confMODULES 配列に追加することもできます:

coretemp
it87
acpi-cpufreq

自動的に lm_sensors を展開する

If you wish to deploy lm-sensors on multiple diferent linux machines issue is that sensors-detect ask you quite a few questions. There are few tricks that you can use to automate replies. First one is if you wish to accept defaults which sensors-detect suggest you need just to press [ENTER] all the time. To automate this use this one liner:

# yes "" | sensors-detect

If you wish to override defaults and answer YES to all questions then use this oneliner:

# yes | sensors-detect

lm_sensors をテストする

セットアップをテストするには、手動で、もしくは systemd のサービスファイルを利用し、カーネルモジュールを読み込む必要があります。両方使用してはいけません。

例: 手動で読み込む方法

# modprobe it87
# modprobe coretemp

例: スクリプトを利用する方法

# systemctl enable lm_sensors
# systemctl start lm_sensors

sensors を実行するとこのようなものが表示されるはずです。

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +30.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +30.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +32.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +30.0°C  (high = +76.0°C, crit = +100.0°C)  

it8718-isa-0290
Adapter: ISA adapter
in0:         +1.17 V  (min =  +0.00 V, max =  +4.08 V)   
in1:         +1.31 V  (min =  +1.28 V, max =  +1.68 V)   
in2:         +3.28 V  (min =  +2.78 V, max =  +3.78 V)   
in3:         +2.88 V  (min =  +2.67 V, max =  +3.26 V)   
in4:         +2.98 V  (min =  +2.50 V, max =  +3.49 V)   
in5:         +1.34 V  (min =  +0.58 V, max =  +1.34 V)   ALARM
in6:         +2.02 V  (min =  +1.04 V, max =  +1.36 V)   ALARM
in7:         +2.83 V  (min =  +2.67 V, max =  +3.26 V)   
Vbat:        +3.28 V
fan1:       1500 RPM  (min = 3245 RPM)  ALARM
fan2:          0 RPM  (min = 3245 RPM)  ALARM
fan3:          0 RPM  (min = 3245 RPM)  ALARM
temp1:       +18.0°C  (low  = +127.0°C, high = +64.0°C)  sensor = thermal diode
temp2:       +32.0°C  (low  = +127.0°C, high = +64.0°C)  sensor = thermistor
temp3:       +38.0°C  (low  = +127.0°C, high = +64.0°C)  sensor = thermistor
cpu0_vid:   +2.050 V

acpitz-virtual-0
Adapter: Virtual device
temp1:       +18.0°C  (crit = +64.0°C)

SPD の値をメモリーモジュールから読み込む (任意)

SPD タイミングの値をあなたのメモリーモジュールから読み込むには、i2c-tools公式リポジトリからインストールします。 i2c-tools をインストールしたら、eeprom カーネルモジュールを読み込む必要があります。

# modprobe eeprom

最後に、あなたのメモリー情報を decode-dimms で見る事ができます。

以下はあるマシンの出力の一部です:

$ decode-dimms
# decode-dimms version 5733 (2009-06-09 13:13:41 +0200)

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x583F)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 512
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     UDIMM

---=== Memory Characteristics ===---
Fine time base                                  2.500 ps
Medium time base                                0.125 ns
Maximum module speed                            1066MHz (PC3-8533)
Size                                            2048 MB
Banks x Rows x Columns x Bits                   8 x 14 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
tCL-tRCD-tRP-tRAS                               7-7-7-33
Supported CAS Latencies (tCL)                   8T, 7T, 6T, 5T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   7.500 ns
Minimum Active to Auto-Refresh Delay (tRC)      49.500 ns
Minimum Recovery Delay (tRFC)                   110.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===---
Operable voltages                               1.5V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         No
Operating temperature range                     0-85C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              Yes
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         Not implemented
SDRAM Device Type                               Standard Monolithic

---=== Physical Characteristics ===---
Module Height (mm)                              15
Module Thickness (mm)                           1 front, 1 back
Module Width (mm)                               133.5
Module Reference Card                           B

---=== Manufacturer Data ===---
Module Manufacturer                             Invalid
Manufacturing Location Code                     0x02
Part Number                                     OCZ3G1600LV2G     

...

センサーデータの利用

グラフィカルフロントエンド

センサーデータのフロントエンドが多数あります。

  • xsensors - lm_sensors の X11 インターフェースです。
  • xfce4-sensors-plugin - lm_sensors を Xfce パネルへ追加するためのプラグインです。
  • conky - Conky は高度で設定を行うことができる torsmo ベースの X 向けシステムモニターです。
  • kdeutils-superkaramba - Superkaramba は KDE デスクトップのためのウィジェット作成をできるようにするツールです。

詳しくは karamba section on kde-look.org を見てください。例えばセンサーデータのための karamba フロントエンドがあります。

  • sensors-applet - GNOME パネルにハードウェアセンサーからの情報、CPU 温度・ファンスピード・電圧などを表示するためのアプレットです。

sensord

sensord (lm_sensors パッケージの中に入っています) と呼ばれるオプショナルデーモンが存在し、ラウンドロビンデータベース (rrd) にデータを記録して後で視覚化することができます。詳細は sensord の man ページを読んでください。

トラブルシューティング

マルチ CPU 環境でコアの番号を再定義する

稀に、マルチ CPU マザーボードでは実際の物理コアのナンバリングが間違っていることがあります。 Xeon を2個搭載した HP Z600 ワークステーションの例を示します:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core 1:       +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core 9:       +66.0°C  (high = +85.0°C, crit = +95.0°C)
Core 10:      +66.0°C  (high = +85.0°C, crit = +95.0°C)

coretemp-isa-0004
Adapter: ISA adapter
Core 0:       +54.0°C  (high = +85.0°C, crit = +95.0°C)
Core 1:       +56.0°C  (high = +85.0°C, crit = +95.0°C)
Core 9:       +60.0°C  (high = +85.0°C, crit = +95.0°C)
Core 10:      +61.0°C  (high = +85.0°C, crit = +95.0°C)

smsc47b397-isa-0480
Adapter: ISA adapter
fan1:        1730 RPM
fan2:        1746 RPM
fan3:        1224 RPM
fan4:        2825 RPM
temp1:        +46.0°C
temp2:        +37.0°C
temp3:        +23.0°C
temp4:       -128.0°C

コアの番号が 0,1,9,10 となっていて、2番目の CPU でも同じ番号が繰り返されていることに注意してください。多くのユーザーは 0,1,2,3,4,5,6,7 といった順番でコアの温度を表示してほしいでしょう。2段階でこの問題を解決します。

ステップ 1. どのようなIDがチップから報告されているか

物理チップに対してどのようなオプションが利用できるか sensors-u スイッチをつけて調べてください:

$ sensors -u coretemp-isa-0000
coretemp-isa-0000
Adapter: ISA adapter
Core 0:
  temp2_input: 61.000
  temp2_max: 85.000
  temp2_crit: 95.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 61.000
  temp3_max: 85.000
  temp3_crit: 95.000
  temp3_crit_alarm: 0.000
Core 9:
  temp11_input: 62.000
  temp11_max: 85.000
  temp11_crit: 95.000
Core 10:
  temp12_input: 63.000
  temp12_max: 85.000
  temp12_crit: 95.000
$ sensors -u coretemp-isa-0004
coretemp-isa-0004
Adapter: ISA adapter
Core 0:
  temp2_input: 53.000
  temp2_max: 85.000
  temp2_crit: 95.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 54.000
  temp3_max: 85.000
  temp3_crit: 95.000
  temp3_crit_alarm: 0.000
Core 9:
  temp11_input: 59.000
  temp11_max: 85.000
  temp11_crit: 95.000
Core 10:
  temp12_input: 59.000
  temp12_max: 85.000
  temp12_crit: 95.000

Step 2. コアナンバーを再定義する

ステップ1の結果を元に、新しい定義を /etc/sensors.d/cores.conf に作成します:

/etc/sensors.d/cores.conf
chip "coretemp-isa-0000"

    label temp2 "Core 0"
    label temp3 "Core 1"
    label temp11 "Core 2"
    label temp12 "Core 3"

chip "coretemp-isa-0004"

    label temp2 "Core 4"
    label temp3 "Core 5"
    label temp11 "Core 6"
    label temp12 "Core 7"

問題は解決しました。これらのステップが完了した結果を示します:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core0:        +64.0°C  (high = +85.0°C, crit = +95.0°C)
Core1:        +63.0°C  (high = +85.0°C, crit = +95.0°C)
Core2:        +65.0°C  (high = +85.0°C, crit = +95.0°C)
Core3:        +66.0°C  (high = +85.0°C, crit = +95.0°C)

coretemp-isa-0004
Adapter: ISA adapter
Core4:        +53.0°C  (high = +85.0°C, crit = +95.0°C)
Core5:        +54.0°C  (high = +85.0°C, crit = +95.0°C)
Core6:        +59.0°C  (high = +85.0°C, crit = +95.0°C)
Core7:        +60.0°C  (high = +85.0°C, crit = +95.0°C)

smsc47b397-isa-0480
Adapter: ISA adapter
fan1:        1734 RPM
fan2:        1726 RPM
fan3:        1222 RPM
fan4:        2827 RPM
temp1:        +45.0°C  
temp2:        +37.0°C  
temp3:        +23.0°C  
temp4:       -128.0°C  

Linux 2.6.31 から Sensors が動きません

2.6.21 の変更でいくつかの sensors が動かないようになりました。詳しい説明とエラーの例が この FAQ エントリ にあります。これを修復するには、カーネルパラメータに以下を追加してください:

acpi_enforce_resources=lax
Warning: In some situations, this may be dangerous. Consult the FAQ for details.

Note that in most cases the information is still accessible via other modules (e.g. via ACPI modules) for the hardware in question. Many utilities and monitors (e.g. /usr/bin/sensors) can gather information from either source. Where possible, this is the preferred solution.

K10Temp Module

Some K10 processors have issues with their temperature sensor. From the kernel documentation (linux-<version>/Documentation/hwmon/k10temp):

All these processors have a sensor, but on those for Socket F or AM2+, the sensor may return inconsistent values (erratum 319). The driver will refuse to load on these revisions unless you specify the force=1 module parameter.
Due to technical reasons, the driver can detect only the mainboard's socket type, not the processor's actual capabilities. Therefore, if you are using an AM3 processor on an AM2+ mainboard, you can safely use the force=1 parameter.

On affected machines the module will report "unreliable CPU thermal sensor; monitoring disabled". If you still want to use the module you can:

# rmmod k10temp
# modprobe k10temp force=1

Confirm with Lm_sensors#Testing your lm_sensors that the sensor is in fact valid and reliable. If it is, you can edit /etc/modprobe.d/k10temp.conf and add:

options k10temp force=1

This will allow the module to load at boot.

関連項目

  • hddtemp - Software to read temperatures of hard drives.
  • monitorix - Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resources as possible.