获取 Linux 上的 CPU 温度
无论您是在玩游戏、超频还是在公司的关键服务器上托管密集型进程,获取 CPU 等关键组件的温度的能力都很重要。 Linux 内核附带内置模块,允许其访问 CPU 内的板载传感器。在本教程中,您将学习如何访问这些传感器并获取 Linux 系统上的 CPU 温度。
有一个程序可以与上面提到的内核模块一起工作,在用户空间中显示 CPU 温度的读数。该程序称为lm_sensors。该软件允许用户在命令行中读取 CPU 温度,并与多个图形前端交互,从而自动且轻松地实时显示温度。
在本教程中您将学习:
如何在所有主要 Linux 发行版上安装
lm_sensors
如何使用
sensors
命令获取CPU温度如何在所有主要 Linux 发行版上安装 Conky
如何使用Conky监控CPU温度
如何在所有主要 Linux 发行版上安装 lm_sensors
lm_sensors 软件允许用户在 Linux 上检索 CPU 的温度。该软件包可在所有主要 Linux 发行版上使用,并且可以从默认系统存储库安装。
您可以使用下面适当的命令通过系统的包管理器安装 lm_sensors。
要在 Ubuntu、Debian 和 Linux Mint 上安装 lm_sensors:
$ sudo apt install lm-sensors
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 lm_sensors:
$ sudo dnf install lm_sensors
要在 Arch Linux 和 Manjaro 上安装 lm_sensors:
$ sudo pacman -S lm_sensors
从命令行获取CPU温度
在您的系统上安装 lm_sensors 软件包后,您将可以访问 sensors-detect
命令。在终端中运行此命令将显示 CPU 核心的温度。只要您拥有相对现代的硬件,您就可能具有温度监控功能。如果您使用桌面发行版,您将启用硬件监控支持。
$ sudo sensors-detect
该计划将提出一些关于使用哪些传感器的问题。它会为每个人建议一个最佳选择。如果您不知道要选择哪些传感器,请遵循建议,直到最后询问您是否要保存配置。永远保存它。当然,您可以根据自己的最佳判断来决定使用哪些传感器。
现在您可以使用传感器命令查看系统当前温度的列表。
$ sensors
以下是我们的测试系统上生成的输出片段:
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp: +32.0°C
Core0 Temp: +33.0°C
Core1 Temp: +29.0°C
Core1 Temp: +25.0°C
nouveau-pci-0200
Adapter: PCI adapter
temp1: +58.0°C (high = +100.0°C, crit = +120.0°C)
您知道吗?
散热器安装不正确、通风口堵塞或积满灰尘的机箱风扇可能会导致 PC 内部温度过高,从而损害系统组件的使用寿命,包括CPU、显卡等。您的 BIOS 应该有(现代系统都有)一个温度故障保护选项:如果温度达到某个阈值,系统将关闭以防止损坏硬件。
要持续监控 CPU 温度,您可以将 lm-sensors 作为服务启动。
$ sudo systemctl start lm-sensors
并使其在系统启动时自动启动:
$ sudo systemctl enable lm-sensors
从 GUI 获取 CPU 温度
Conky 是一个 Linux 系统监控程序。它会在您的桌面上显示一个小部件,其中包含系统的相关信息。在本例中,我们有兴趣使用 Conky 来显示 CPU 温度。由于 Conky 是高度可定制的,我们可以将其配置为连续显示 sensors
命令的输出。
让我们从安装 Conky 开始。您可以使用下面适当的命令通过系统的包管理器安装 Conky。
要在 Ubuntu、Debian 和 Linux Mint 上安装 Conky:
$ sudo apt install conky-all
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 Conky:
$ sudo dnf install conky
要在 Arch Linux 和 Manjaro 上安装 Conky:
$ sudo pacman -S conky
将默认的 Conky 配置复制到您的主目录。最好使用您的自定义设置编辑此文件,并保留原始文件作为备份。
$ cp /etc/conky/conky.conf ~/.conkyrc
打开配置文件进行更改。由于 Conky 可以从命令行程序的执行中获取变量形式的输入,这就是将传感器信息传递给它的方式。
在 Conky 配置中运行 execi Sensors
将给出传感器的输出。但是,这会提供完整的输出,因此您可能需要使用其他命令行工具(例如 grep
和 cut
)来获得您想要的确切输出。
例子 :
${color grey} System temps:
${execi sensors | grep Temp}
结束语
在本教程中,我们了解了如何获取 Linux 系统上的 CPU 温度。这可以在大多数 Linux 发行版上使用 lm-sensors
软件来实现。然后,Conky 和许多其他 GUI 实用程序可以利用 lm 传感器来显示 CPU 温度信息。这为您提供了一种获取和监控系统温度的简单方法,以确保您的电脑尽可能凉爽地运行。