在 Linux 上检查 CPU 和 GPU 温度的 3 种方法

您需要检查 CPU 和 GPU 温度以更好地优化设备的性能。 对于游戏玩家和动画师来说,尝试保持低温以减少渲染时间或提高游戏性能更为重要。

检查 CPU 和 GPU 温度的工具

Linux 没有提供一种非常直观的方式来检查您的 CPU/GPU。 因此,在本文中,我们将介绍 3 种不同的方式来监控硬件温度水平。

1. lm-sensors

有大量的第三方命令行实用程序,例如 acpi , i7ztmon 显示硬件温度,但没有一个像 lm-sensors 这是一个免费的开源应用程序,不仅提供 CPU 温度,还提供电压和风扇信息。

Ubuntu/薄荷/Debian

sudo apt install lm-sensors 

Arch/Manjaro Linux

sudo pacman -S lm_sensors 

Fedora

sudo dnf install lm_sensors 

lm-sensors 或者 lm_sensors 可以在几乎所有发行版的官方存储库中找到。

如何使用

要检查温度,首先执行

sensors-detect  

这将检测设备上的所有相关传感器。 对所有提示说“y”或“yes”。 lm-sensors 还建议您运行以下命令重新加载模块。

/etc/init.d/kmod start 

现在执行以下运行程序。

sensors 

你会得到一个类似这样的输出,列出你需要的所有必要的硬件信息。

2. psensor

如果你不想一次又一次地打开你的终端并想要一个图形选项来检查你的温度,你可以得到 psensors 它不仅向您显示实时传感器数据,而且使图表易于阅读,因此您可以监控和分析硬件性能。

psensor 取决于 lm-sensors 对于和 hddtemp 分别检查 CPU 和 GPU 温度以及驱动器温度。 所以在安装之前一定要安装 hddtemp 和 lm-sensors psensor

Ubuntu/薄荷/Debian

sudo apt install lm-sensors hddtemp sudo sensors-detect sudo apt install psensor psensor 

Arch/Manjaro Linux

sudo pacman -S lm_sensor hddtemp sudo sensors-detect sudo pacman -S psensor psensor 

RHEL/Fedora

sudo yum install lm_sensors hddtemp make gcc gtk3-devel gtop2 lm_sensors-devel libatasmart-devel libcurl-devel  libmicrohttpd-devel help2man libnotify-devel libgtop2-devel  curl wpitchoune.net/psensor/files/psensor-1.2.1.tar.gz tar -xvf psensor-1.2.1 cd psensor-1.2.1 ./configure;make clean all sudo make install sensors-detect  psensor  

安装psensor后,执行 psensor 运行它。

您可以看到传感器列表(默认情况下通常在右侧)并在图表上选择您想要的传感器。 在这里,我绘制了处理器第一个内核的温度与 CPU 使用率的关系图。

不使用第三方应用

有一种方法可以在不使用 lm-sensors 等第三方应用程序的情况下获取温度。 事实上,这就是像 lm-sensors 这样的第三方应用程序获取数据并以更易于访问的方式呈现数据的方式。

要了解这是如何工作的,我们需要了解 Linux 上的一切都是一个文件。 这意味着我们可以访问任何作为文件存储在系统上的模块、设备。

例如,如果您想知道大写锁定键的亮度级别,它存储在 /sys/class/leds/input15::capslock/brightness 您可以阅读该文件以了解亮度级别。

同样,所有传感器数据都存储在 /sys/class/thermal/ 各种名为 thermal_zoneX . 要获得所有温度,请运行

cat /sys/class/thermal/thermal_zone*/temp 

这将为您提供温度列表 摄氏. 要了解这些温度代表什么,您可以读取在每个目录中命名的文件。 例如要知道第一个温度代表什么,请运行

cat /sys/class/thermal/thermal_zone1/type 

CPU 温度是热区类型 x86_pkg_temp.

你也可以做一些 Linux 字符串操作魔术,并使用以下命令列出所有类型及其对应的温度。

paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'t' -t | sed 's/(.)..$/.1°C/' 
没有第三方温度

结论

我们现在已经看到了多种检查硬件温度和其他信息的方法,您可以使用它们来优化设备性能。 如果您想了解有关 Linux 的 CPU 优化的更多信息,可以访问 Cpu Frequency Scaling。 玩得开心!