ฉันจะตรวจสอบอุณหภูมิของ CPU ภายใต้ linux ได้อย่างไร


131

ฉันจะตรวจสอบและแสดงอุณหภูมิ CPU โดยใช้ Linux ได้อย่างไร


4
เป็นเรื่องที่ดีมากที่ได้เห็นว่าคำถามสั้น ๆ ที่รวดเร็วและแม่นยำนั้นได้รับคำตอบมากมาย :-)
Jan Koester

คำตอบ:


121

ดังที่คนอื่น ๆ สังเกตคุณต้องการ LM-เซ็นเซอร์ บรรจุภัณฑ์ ฉันคิดว่าฉันควรพูดถึงว่านอกเหนือจากการติดตั้งแพคเกจคุณควรเรียกใช้ เซ็นเซอร์ตรวจจับ คำสั่งเพื่อระบุโมดูลเคอร์เนลที่ต้องโหลด

หากคุณยังไม่ได้ทำสิ่งนี้ให้เรียกใช้ด้วยตนเองครั้งเดียวและตรวจสอบว่าตรวจจับเซ็นเซอร์ใด ๆ บนบอร์ดคอมพิวเตอร์ของคุณหรือไม่

$ sudo sensors-detect 
# sensors-detect revision 5249 (2008-05-11 22:56:25 +0200)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

We can start with probing for (PCI) I2C or SMBus adapters.
Do you want to probe now? (YES/no): 
Probing for PCI bus adapters...
Use driver `i2c-i801' for device 0000:00:1f.3: Intel 82801G ICH7

We will now try to load each adapter module in turn.
Module `i2c-i801' already loaded.
If you have undetectable or unsupported I2C/SMBus adapters, you can have
them scanned by manually loading the modules before running this script.

We are now going to do the I2C/SMBus adapter probings. Some chips may
be double detected; we choose the one with the highest confidence
value in that case.
If you found that the adapter hung after probing a certain address,
you can specify that address to remain unprobed.

Next adapter: SMBus I801 adapter at 10c0 (i2c-0)
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)
Probing for `EDID EEPROM'...                                No
Client found at address 0x52
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)
Probing for `EDID EEPROM'...                                No

Some chips are also accessible through the ISA I/O ports. We have to
write to arbitrary I/O ports to probe them. This is usually safe though.
Yes, you do have ISA I/O ports even if you do not have any ISA slots!
Do you want to scan the ISA I/O ports? (YES/no): 
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM78-J' at 0x290...     No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No
Probing for `IPMI BMC KCS' at 0xca0...                      No
Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some Super I/O chips may also contain sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): 
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     Yes
Found unknown chip with ID 0x2803
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Fintek'...                       No
Trying family `ITE'...                                      No

Some south bridges, CPUs or memory controllers may also contain
embedded sensors. Do you want to scan for them? (YES/no): 
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD K10 thermal sensors...                                  No
Intel Core family thermal sensor...                         Success!
    (driver `coretemp')
Intel AMB FB-DIMM thermal sensor...                         No

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `coretemp' (should be inserted):
  Detects correctly:
  * Chip `Intel Core family thermal sensor' (confidence: 9)

I will now generate the commands needed to load the required modules.
Just press ENTER to continue: 

To load everything that is needed, add this to /etc/modules:

#----cut here----
# Chip drivers
coretemp
#----cut here----

Do you want to add these lines automatically? (yes/NO)

หากคุณโชคดีแล็ปท็อปของคุณจะรองรับเซ็นเซอร์มากมาย หากไม่เป็นเช่นนั้นคุณอาจพบชุดเซ็นเซอร์พื้นฐานสำหรับ CPU:

$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +40.5°C  (crit = +105.0°C)                  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +35.0°C  (crit = +100.0°C)                  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +40.0°C  (crit = +100.0°C)                  

2
ถ้าคุณต้องการมันบนหน้าจอฉันชอบใช้ gkrellm ซึ่งใช้เซ็นเซอร์ lm สำหรับการตรวจจับ
Col

1
หากคุณต้องการบนหน้าจอและไม่ต้องการใช้ gkrellm คุณสามารถใช้ conky แทนได้
geek

1
หากคุณอยู่ใน redhat แพคเกจของคุณอาจเรียกว่า lm_sensors (ขีดล่างแทนเส้นประปกติ)
msb

สิ่งเดียวกันบน Arch ก็คือ lm_sensors.
bfontaine

เพียงแค่ต้องการเพิ่มว่าฉันต้องรีบูตเครื่องหลังจากทำการตรวจจับเซ็นเซอร์เป็นครั้งแรก
Chuck Claunch

76

การใช้ 'เซนเซอร์' (จากเซ็นเซอร์ lm) และ 'นาฬิกา' (จาก procps pkg) คุณสามารถตรวจสอบข้อมูลเซ็นเซอร์ตรวจสอบเวลาจริงบนบรรทัดคำสั่งผ่าน:

watch -n 1 -d sensors

สิ่งนี้จะแสดงเซ็นเซอร์ทุก 1 วินาทีและเน้นความแตกต่างจากวินาทีก่อนหน้า

Every 1.0s: /usr/bin/sensors

...
temp1:       +55C  (high =   +50C, hyst =   +45C)   sensor = thermistor   ALARM
temp2:     +35.0C  (high =   +80C, hyst =   +75C)   sensor = thermistor
temp3:     +35.0C  (high =   +80C, hyst =   +75C)   sensor = thermistor

ทำไมไม่ผ่านในไวยากรณ์ฟาเรนไฮต์?
Jacob Jan Tuinstra

6
ง่ายเพิ่มตัวเลือก '-f' ลงในคำสั่งเซ็นเซอร์ด้านบน
johnnyB

2
เป็นที่น่าสังเกตว่าคุณต้องติดตั้งแพคเกจ lm-sensors เพื่อให้สิ่งนี้ทำงานได้
William Everett

22

LM-เซ็นเซอร์

Lm-sensors คือความสมบูรณ์ของฮาร์ดแวร์   แพ็คเกจการตรวจสอบสำหรับ Linux มัน   ช่วยให้คุณสามารถเข้าถึงข้อมูลจาก   อุณหภูมิแรงดันไฟฟ้าและความเร็วพัดลม   เซ็นเซอร์ มันทำงานร่วมกับใหม่กว่ามากที่สุด   ระบบ   แพ็คเกจนี้ประกอบด้วยโปรแกรมที่จะช่วย   คุณตั้งค่าและอ่านข้อมูลจาก   LM-เซ็นเซอร์

ในการติดตั้งใช้งาน:

# sudo apt-get install lm-sensors sensors-applet

ใช้ :

# sensors-detect
...
# sensors
V1.5:      +2.467 V  (min =  +1.42 V, max =  +1.58 V)   ALARM
VCore:     +1.479 V  (min =  +1.48 V, max =  +1.63 V)   ALARM
V3.3:      +3.373 V  (min =  +3.13 V, max =  +3.47 V)
V5:       +5.000 V  (min =  +4.74 V, max =  +5.26 V)
V12:      +11.734 V  (min = +11.38 V, max = +12.62 V)
CPU_Fan:   2299 RPM  (min = 4000 RPM)                     ALARM
fan2:         0 RPM  (min =    0 RPM)
fan3:      1057 RPM  (min =    0 RPM)
fan4:         0 RPM  (min =    0 RPM)
CPU:      +41.50°C  (low  =   +10°C, high =   +50°C)
Board:    +35.25°C  (low  =   +10°C, high =   +35°C)
Remote:   +35.50°C  (low  =   +10°C, high =   +35°C)     ALARM
CPU_PWM:   144
Fan2_PWM:  112
Fan3_PWM:  112
vid:      +1.550 V  (VRM Version 9.0)

หรือเพิ่มแอปเพล็ตลงในทาสก์บาร์ของคุณ

enter image description here


คุณสามารถลองใช้แอปเพล็ตของคอมพิวเตอร์

แพ็คเกจ Ubuntu

โฮมเพจ

การตรวจสอบอุณหภูมิคอมพิวเตอร์เป็น   แอพเพล็ตเล็ก ๆ สำหรับเดสก์ท็อป GNOME   ที่แสดงอุณหภูมิของคุณ   CPU คอมพิวเตอร์และดิสก์บนหน้าจอ

นอกจากนี้ยังช่วยให้คุณบันทึกอุณหภูมิ   ไปยังไฟล์ คุณสามารถตั้งเวลาปลุกได้   แจ้งเตือนคุณเมื่อมีอุณหภูมิ   ถึง สามารถเพิ่มจอภาพหลายจอได้   ไปที่แผงเพื่อตรวจสอบที่แตกต่างกัน   เซ็นเซอร์ มันถูกออกแบบมาให้ดูเหมือน   ซีพียู Gnome Frequency Frequency ดังนั้นพวกมัน   จับคู่กันบนแผง

ในการติดตั้งใช้งาน:

sudo apt-get install computertemp

จากนั้นเพิ่มในแถบงานของคุณ

enter image description here


9

ฉันมีเซิร์ฟเวอร์ Dell (Poweredge R420) กำลังทำงานอยู่ Fedora / Red Hat Linux . ฉันติดตั้ง lm_sensors แล้ว แต่ sensors ให้ข้อความบอกฉันว่าเคอร์เนลไดรเวอร์ไม่ได้ถูกโหลด ฉันใช้เซ็นเซอร์ตรวจจับเพื่อค้นหาเซ็นเซอร์ที่ฉันต้องการและมันกลับกลายเป็นว่าฉันต้องการ IPMI

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `ipmisensors':
  * ISA bus, address 0xca8
    Chip `IPMI BMC KCS' (confidence: 8)

Warning: the required module ipmisensors is not currently installed
on your system. If it is built into the kernel then it's OK.
Otherwise, check http://www.lm-sensors.org/wiki/Devices for
driver availability.

ฉันตรวจสอบหน้าเว็บที่แนะนำให้ฉันใช้ ipmitool ฉันติดตั้งแล้วแต่ยังใช้งานไม่ได้:

$ ipmitool sensor
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Get Device ID command failed
Unable to open SDR for reading

หลังจากการวิจัยเพิ่มเติมฉันพบหน้านี้: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

ipmimod.sh สคริปต์ของพวกเขาทำงานได้ดีสำหรับฉัน:

#!/bin/bash

#IPMI kernel module installer for Redhat-style machines
#dranch-3r7Miqu9kMnR7s880joybQ@xxxxxxxxxxxxxxxx

#07/26/06 - use absolute paths for modprobe
#05/01/06 - orig version

/sbin/modprobe ipmi_devintf

maj=`cat /proc/devices | awk '/ipmidev/{print $1}'`
echo $maj
if [ -c /dev/ipmi0 ]
then
   rm -f /dev/ipmi0
   /bin/mknod /dev/ipmi0 c $maj 0
else
   /bin/mknod /dev/ipmi0 c $maj 0
fi

IPMI_DRIVERS="ipmi_si ipmi_si_drv ipmi_kcs_drv"
for driver in $IPMI_DRIVERS; do
  find /lib/modules/`uname -r`/kernel/drivers/char/ipmi | grep $driver > /dev/null
  RETURN_VALUE=$?
  if [ $RETURN_VALUE -eq 0 ] ; then
    #Here are specific memory locations for Supermicro AOC-type IPMI cards
    /sbin/modprobe $driver type=kcs ports=0xca8 regspacings=4
    break
  fi
done

หลังจากนั้นฉันก็เห็นอุณหภูมิของ CPU ในที่สุด:

$ ipmitool sensor | grep Temp
Inlet Temp       | 24.000     | degrees C  | ok    | na        | -7.000    | 3.000     | 42.000    | 47.000    | na
Temp             | na         | degrees C  | na    | na        | 3.000     | 8.000     | 77.000    | 83.000    | na
Temp             | na         | degrees C  | na    | na        | 3.000     | 8.000     | 77.000    | 83.000    | na

ฉันหวังว่านี่จะช่วยให้ทุกคนที่มีเซิร์ฟเวอร์ dell มีปัญหาในการรับอุณหภูมิ


6

Linux ช่วยให้คุณเข้าถึงเซ็นเซอร์ข้อมูลอุณหภูมิ ใช้งานได้กับ RH6.2x64

ไดรเวอร์นี้ประกอบด้วยการสนับสนุนการอ่านโดยใช้เซ็นเซอร์ lm:

ชนิด

modprobe coretemp
sensors

3

ฉันค้นพบซอฟต์แวร์อื่นที่มี GUI เพื่อตรวจสอบอุณหภูมิ ชื่อของซอฟต์แวร์คือ: Psensor: https://wpitchoune.net/psensor/

และดูบทความจากอินเทอร์เน็ต: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

ในการติดตั้งบน Ubuntu / Mint ให้รันคำสั่งนี้ที่เทอร์มินัลของคุณ:

sudo apt install psensor

ในการเรียกใช้แอปพลิเคชันให้เรียกใช้สิ่งนี้:

sudo psensor

ขอบคุณ


1
หากต้องการกำหนดค่าเซ็นเซอร์ให้เรียกใช้คำสั่งนี้แล้วพิมพ์ใช่สำหรับคำถามทั้งหมด: sudo sensors-detect
Wellington1993

2

ACPI

คุ้มค่าพูดถึงพูดถึง acpi คำสั่ง

acpi -t   # or -V for all

-t | --thermal : แสดงข้อมูลความร้อน

จาก apt-cache show acpi:

คำอธิบาย-en: แสดงข้อมูลเกี่ยวกับอุปกรณ์ ACPI    พยายามทำซ้ำฟังก์ชันการทำงานของ "เก่า" คำสั่ง apm บน    ระบบ ACPI รวมถึงแบตเตอรี่และ ข้อมูลความร้อน .
ไม่รองรับ    ACPI ที่ถูกระงับจะแสดงเฉพาะข้อมูลเกี่ยวกับอุปกรณ์ ACPI

โฮมเพจ: http://sourceforge.net/projects/acpiclient

บนระบบที่เหมือนกับ Ubuntu คุณสามารถติดตั้งได้

sudo apt-get install acpi

บันทึก: คุณสามารถตรวจสอบอุณหภูมิด้วย watch -n 1 -d acpi -V หรือคุณสามารถเริ่มแยกวิเคราะห์ผลลัพธ์ (หรือ sensors หนึ่ง) ด้วยสคริปต์ (มีหรือไม่มี date คำสั่ง) การเพิ่มสีบันทึกผลลัพธ์ลงในไฟล์ ...

while [[ 1 ]] ; do acpi -t | awk '{printf ("%2.2f ",$4)}'; date; sleep 1 ; done


1

คุณสามารถส่งคืนบรรทัดคำสั่งในไฟล์ conky เพื่อแสดงบนหน้าจอของคุณ มันยังคงป่องน้อยกว่าแอปเพล็ตที่กินพื้นที่

sudo apt-get install conky

จากนั้นสร้างไฟล์. conkyrc ในฝันของคุณใน / home / ผู้ใช้งาน และเพิ่มลงในแอปพลิเคชันของคุณที่เริ่มต้น

IMP: ดูบทช่วยสอนเกี่ยวกับ conky หรือ premade .conkyrc, Ubuntu และ ubuntu-เธรดฟอรัม Lifehacker และอีกมากมายสำหรับการตั้งค่าที่ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.