i3status에서 Haswell i7 코어의 코어 온도를 얻는 방법


12

CPU 코어 온도 (haswell i7)를 표시 하기 위해 i3status 를 사용하고 싶습니다 . 그러나 설정 :

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

올바른 코어 온도를 표시하지 않습니다. 표시되는 숫자는 x1 센서가 temp1에 대해 표시하는 값에 해당하는 것 같습니다. 위의 1을 2로 변경하면 xsensors temp2에 해당합니다. 3 또는 4를 시도해도 효과가 없습니다. 그러나 i3 상태의 모든 4 코어의 실제 코어 온도를 얻고 싶습니다. 어떻게해야합니까?

답변:


17

i3 상태

사용하면 i3status구성 값을 약간 변경하여 /sys값의 경로를 제공 하여 CPU의 코어 온도를 직접 얻을 수 있다고 생각합니다 . 따라서 규칙을 다음과 같이 변경하십시오.

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

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

로부터 acpi매뉴얼 페이지

   -t |  --thermal
             show thermal information

/ sys

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

lm_sensors

lmsensors 패키지를 다음과 같이 설치하면 :

페도라 / CentOS / RHEL :

$ sudo yum install lm_sensors

데비안 / 우분투 :

$ sudo apt-get install lm-sensors

하드웨어를 감지하십시오.

$ sudo sensors-detect

다음과 같이 모듈을 수동으로 설치할 수도 있습니다.

$ sudo modprobe coretemp
$ modprobe i2c-i801

참고 : 센서 감지는 특정 하드웨어를 감지해야하므로 modprobe <my driver>위의 두 번째 명령 을 대신 사용해야합니다 .

내 시스템에는 다음 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에 있습니다. 핵심 중 하나는 다음과 같습니다.

$ 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

@ 학생-업데이트를 참조하십시오.
slm

고마워, 이것은 작동합니다. 함께 temp2_input한 두 번째 코어의 등 온도 ... 얻는다
학생

@ 학생-달콤한! BTW, 오타를 고쳐 주셔서 감사합니다!
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.