如何在Linux上查看CPU温度
本简短的教程介绍了如何使用lm_sensors在Linux上查看CPU温度。
Lm_sensors是Linux监视传感器的缩写,是一个免费软件,提供监视CPU温度,电压,湿度和风扇的必要工具和驱动程序。
它还可以检测机箱是否被入侵。
因此,我们可以找出有缺陷的硬件组件,并进行更换,以避免系统挂起或者过热的问题。
在Linux上安装lm_sensors
Lm_sensors预先安装在大多数现代Linux操作系统中。
如果尚未安装,则可以如下所示进行安装。
在Arch Linux及其衍生版本上:
$sudo pacman -S lm_sensors
在RHEL,CentOS,Fedora上:
$sudo yum install lm_sensors
或者,
$sudo dnf install lm_sensors
在Debian,Ubuntu和Linux Mint上:
$sudo apt-get install lm-sensors
在SUSE上,openSUSE:
$sudo zypper in sensors
配置Lm_sensors
安装后,运行以下命令来配置lm_sensors:
$sudo sensors-detect
sensor-detect是一个独立程序,用于检测已安装的硬件并推荐要加载的特定模块。
“安全”答案是默认值,因此只需按Enter接受默认值即可。
不会造成任何问题。
这将创建/etc/conf.d/lm_sensors配置文件,lm_sensors.service使用该配置文件在引导时自动加载内核模块。
我的DELL笔记本电脑中上述命令的示例输出:
# sensors-detect version 3.6.0 # System: Dell Inc. Inspiron N5050 [Not Specified] (laptop) # Board: Dell Inc. 01HXXJ # Kernel: 5.4.0-42-generic x86_64 # Processor: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (6/42/7) 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. Some south bridges, CPUs or memory controllers contain embedded sensors. Do you want to scan for them? This is totally safe. (YES/no): Module cpuid loaded successfully. Silicon Integrated Systems SIS5595... No VIA VT82C686 Integrated Sensors... No VIA VT8231 Integrated Sensors... No AMD K8 thermal sensors... No AMD Family 10h thermal sensors... No AMD Family 11h thermal sensors... No AMD Family 12h and 14h thermal sensors... No AMD Family 15h thermal sensors... No AMD Family 16h thermal sensors... No AMD Family 15h power sensors... No AMD Family 16h power sensors... No Intel digital thermal sensor... Success! (driver `coretemp') Intel AMB FB-DIMM thermal sensor... No Intel 5500/5520/X58 thermal sensor... No VIA C7 thermal sensor... No VIA Nano thermal sensor... No Some Super I/O chips contain embedded 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/ITE'... No Trying family `SMSC'... No Trying family `VIA/Winbond/Nuvoton/Fintek'... No Trying family `ITE'... No Probing for Super-I/O at 0x4e/0x4f Trying family `National Semiconductor/ITE'... Yes Found unknown chip with ID 0xfc11 Some hardware monitoring chips are 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 LM79' at 0x290... No Probing for `Winbond W83781D' at 0x290... No Probing for `Winbond W83782D' at 0x290... No Lastly, we can probe the I2C/SMBus adapters for connected hardware monitoring devices. This is the most risky part, and while it works reasonably well on most systems, it has been reported to cause trouble on some systems. Do you want to probe the I2C/SMBus adapters now? (YES/no): Using driver `i2c-i801' for device 0000:00:1f.3: Intel Cougar Point (PCH) Module i2c-dev loaded successfully. Next adapter: SMBus I801 adapter at f040 (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 Next adapter: i915 gmbus ssc (i2c-1) Do you want to scan it? (yes/NO/selectively): Next adapter: i915 gmbus vga (i2c-2) Do you want to scan it? (yes/NO/selectively): Next adapter: i915 gmbus panel (i2c-3) Do you want to scan it? (yes/NO/selectively): Next adapter: i915 gmbus dpc (i2c-4) Do you want to scan it? (yes/NO/selectively): Next adapter: i915 gmbus dpb (i2c-5) Do you want to scan it? (yes/NO/selectively): Next adapter: i915 gmbus dpd (i2c-6) Do you want to scan it? (yes/NO/selectively): Next adapter: DPDDC-B (i2c-7) Do you want to scan it? (yes/NO/selectively): Now follows a summary of the probes I have just done. Just press ENTER to continue: Driver `coretemp': * Chip `Intel digital thermal sensor' (confidence: 9) Do you want to overwrite /etc/conf.d/lm_sensors? (YES/no): Unloading i2c-dev... OK Unloading cpuid... OK
完毕!让我们继续,看看如何使用来找到CPU温度。
使用Lm_sensors在Linux上查看CPU温度
键入以下命令以查看Linux机器的CPU温度信息:
$sensors
输出示例:
coretemp-isa-0000 Adapter: ISA adapter Package id 0: +57.0°C (high = +80.0°C, crit = +85.0°C) Core 0: +57.0°C (high = +80.0°C, crit = +85.0°C) Core 1: +54.0°C (high = +80.0°C, crit = +85.0°C) BAT0-acpi-0 Adapter: ACPI interface in0: 12.43 V curr1: 1000.00 uA dell_smm-virtual-0 Adapter: Virtual device Processor Fan: 3449 RPM CPU: +57.0°C Other: +52.0°C Other: +51.0°C GPU: +16.0°C Other: +55.0°C acpitz-acpi-0 Adapter: ACPI interface temp1: +57.5°C (crit = +84.0°C)
如我们在上面的输出中看到的,lm_sensors在括号中显示了我的CPU的当前温度,高温和临界温度。
如果发现任何硬件设备达到高温或者临界温度,则可能需要检查该硬件设备。
默认情况下,Lm_sensors以摄氏度为单位显示温度。
要显示华氏温度而不是摄氏温度,请使用-f选项。
$sensors -f
输出示例:
coretemp-isa-0000 Adapter: ISA adapter Package id 0: +131.0°F (high = +176.0°F, crit = +185.0°F) Core 0: +131.0°F (high = +176.0°F, crit = +185.0°F) Core 1: +123.8°F (high = +176.0°F, crit = +185.0°F) BAT0-acpi-0 Adapter: ACPI interface in0: 12.43 V curr1: 1000.00 uA dell_smm-virtual-0 Adapter: Virtual device Processor Fan: 3510 RPM CPU: +127.4°F Other: +120.2°F Other: +120.2°F GPU: +60.8°F Other: +123.8°F acpitz-acpi-0 Adapter: ACPI interface temp1: +128.3°F (crit = +183.2°F)
要实时监控CPU温度,可以使用如下所示的“ watch”命令。
$watch sensors
结果将每2秒更新一次。
随时按CTRL + C可以停止监视。
有关更多详细信息,请参见手册页。
$man sensors