i3statusでHaswell i7コアのコア温度を取得する方法


12

i3statusを使用してCPUコアの温度を表示したい(i7を使用)。ただし、設定:

order += "cpu_temperature 1"
#...
cpu_temperature 1{
        format = "T: %degree °C"
}
#

正しいコア温度が表示されません。それが示す数値は、xsensors temp2に対応するように1を2に変更すると、xsensorsがtemp1に示す値に対応するようです。3または4を試しても効果はありません。ただし、i3ステータスの4つのコアすべての真のコア温度を取得したいです。これどうやってするの?

回答:


17

i3status

を使用して、値へのパスを提供することでi3statusCPUのコア温度を直接取得できるように、構成をわずかに変更できると思い/sysます。したがって、ルールを次のように変更します。

order += "cpu_temperature 1"
# and more if you like...
# order += "cpu_temperature 2"

#...   
cpu_temperature 1 {
        format = "T: %degrees °C"
        path = "/sys/devices/platform/coretemp.0/temp1_input"
}

# cpu_temperature 2 {
#        format = "T: %degrees °C"
#        path = "/sys/devices/platform/coretemp.0/temp2_input"
# }

臨時雇用者を得る4つの他の方法はここにあります:

/ proc

$ cat /proc/acpi/thermal_zone/THM0/temperature
temperature:             72 C

アッピ

$ acpi -t
Thermal 0: ok, 64.0 degrees C

acpimanページから:

   -t |  --thermal
             show thermal information

/ sys

$ cat /sys/bus/acpi/devices/LNXTHERM\:01/thermal_zone/temp 
70000

lm_sensors

lmsensorsパッケージを次のようにインストールする場合:

Fedora / CentOS / RHEL:

$ sudo yum install lm_sensors

Debian / Ubuntu:

$ sudo apt-get install lm-sensors

ハードウェアを検出します。

$ sudo sensors-detect

次のように、モジュールを手動でインストールすることもできます。

$ sudo modprobe coretemp
$ modprobe i2c-i801

注: sensor-detectは特定のハードウェアを検出する必要があるmodprobe <my driver>ため、代わりに上記の2番目のコマンドが必要になる場合があります。

私のシステムには、次のi2cモジュールがロードされています。

$ lsmod | grep i2c
i2c_i801               11088  0 
i2c_algo_bit            5205  1 i915
i2c_core               27212  5 i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit

次に、sensorsアプリを実行して、結果の温度を照会します。

$ sudo sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +68.0°C  (crit = +100.0°C)

thinkpad-isa-0000
Adapter: ISA adapter
fan1:        3831 RPM
temp1:        +68.0°C  
temp2:         +0.0°C  
temp3:         +0.0°C  
temp4:         +0.0°C  
temp5:         +0.0°C  
temp6:         +0.0°C  
temp7:         +0.0°C  
temp8:         +0.0°C  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +56.0°C  (high = +95.0°C, crit = +105.0°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2:       +57.0°C  (high = +95.0°C, crit = +105.0°C)

これは、i5 M560を搭載したThinkpad T410にあります。コアの1つを次に示します。

$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 37
model name  : Intel(R) Core(TM) i5 CPU       M 560  @ 2.67GHz
stepping    : 5
cpu MHz     : 1199.000
cache size  : 3072 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips    : 5319.22
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

/proc/acpi/thermal_zone私の場合は存在しません(ubuntu 13.04)
学生

@student-OK i3statusで具体的にどのようにそれを行うかを求めていることがわかります。そのツールを聞いたことがないので、そのツールを使用してそれを理解する時間を与えてください。
slm

@student-アップデートをご覧ください。
slm

おかげで、これは動作します。temp2_input1は第二のコアの温度を取得し、そう...に
学生

@学生-甘い!ところで、私のタイプミスを修正してくれてありがとう!
slm

0

私の場合、次から値を読み取る必要がありました。

/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input

私のi3statusの構成:

cpu_temperature 0 {
              format = "T: %degrees °C"
              path = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input"
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.