Linux中,可以使用
sensors
命令检测硬件温度,需先安装相关软件包,如
Linux 系统中,有多种方法可以检测硬件温度,以下是详细介绍:
使用命令行工具
sensors 命令
-
安装:
- 对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装
lm-sensors
包:sudo apt-get update sudo apt-get install lm-sensors
- 对于基于 Red Hat 的系统(如 CentOS),可以使用以下命令:
sudo yum install lm_sensors
- 对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装
-
配置:
- 安装完成后,需要检测系统支持的传感器并加载相应的内核模块,运行以下命令:
sudo sensors-detect
- 此命令会提示一系列问题,一般默认回车即可,它会根据你的硬件情况自动添加合适的内核模块到
/etc/modules
文件中,以便在系统启动时自动加载这些模块来支持传感器的读取。
- 安装完成后,需要检测系统支持的传感器并加载相应的内核模块,运行以下命令:
-
使用:
-
配置完成后,直接在终端输入
sensors
命令即可查看硬件温度信息,可能会看到如下输出(不同硬件显示内容会有所不同):
| 传感器 | 温度(℃) | 最高温度(℃) |
|—|—|—|
| Core 0 | 45.0 | 70.0 |
| Core 1 | 46.0 | 70.0 |
| MBP | 35.0 | 80.0 | -
这里显示了核心温度(Core 0、Core 1)以及主板某个传感器(MBP)的温度信息,包括当前温度和该传感器允许的最高温度。
-
hddiutil 命令(适用于苹果 Mac 硬件在 Linux 系统下,如果安装了相关驱动)
- 安装(如果需要):
- 可能需要安装
hddiutil
工具,具体安装方式取决于你的 Linux 发行版和所使用的硬件驱动情况,有些情况下,苹果硬件的驱动可能已经包含了对该工具的支持,无需额外安装。
- 可能需要安装
- 使用:
- 在终端输入
hddiutil
相关命令来查询硬盘温度等信息。sudo hddiutil gettemperature
- 它可能会返回类似这样的信息:
Drive temperature: 35.0°C
- 在终端输入
nvidia-smi 命令(针对 NVIDIA 显卡)
-
安装:
- 如果系统安装了 NVIDIA 显卡驱动,一般会自动包含
nvidia-smi
工具,如果没有安装,需要先安装 NVIDIA 显卡驱动,可以从 NVIDIA 官方网站下载对应型号显卡的驱动程序,然后按照安装向导进行安装。
- 如果系统安装了 NVIDIA 显卡驱动,一般会自动包含
-
使用:
-
在终端输入
nvidia-smi
命令,会显示显卡的详细信息,其中包括显卡温度。
| GPU | 温度(℃) | 使用率(%) | 内存使用量(MiB) |
|—|—|—|—|
| 0 | 50.0 | 10% | 1024 | -
这里显示了 GPU 编号为 0 的显卡当前温度、使用率以及内存使用量等信息。
-
使用图形化界面工具
psensor
- 安装:
- 对于基于 Debian 的系统,可以使用以下命令安装:
sudo apt-get install psensor
- 对于基于 Red Hat 的系统,可以使用以下命令:
sudo yum install psensor
- 对于基于 Debian 的系统,可以使用以下命令安装:
- 使用:
- 安装完成后,在应用程序菜单中找到
psensor
并打开,它会以图形化的方式显示系统中各个传感器的温度信息,包括 CPU、主板、显卡等(如果传感器支持),界面通常比较直观,能实时更新温度数据,并且可以设置温度报警阈值等。
- 安装完成后,在应用程序菜单中找到
Hardware Sensors Monitor(hwmon)
- 安装:
- 不同的 Linux 发行版可能有不同的安装方式,在一些发行版中,可以通过软件仓库直接安装,例如在某些 Debian 衍生版中,可以使用以下命令:
sudo apt-get install hwmon-gui
- 不同的 Linux 发行版可能有不同的安装方式,在一些发行版中,可以通过软件仓库直接安装,例如在某些 Debian 衍生版中,可以使用以下命令:
- 使用:
安装后启动该程序,它能够读取系统中的硬件传感器信息并以图表或列表的形式展示温度数据,用户可以方便地查看各个硬件组件的温度变化情况,并且可以对一些参数进行设置,如更新时间间隔等。
通过系统文件查看(部分硬件支持)
在一些 Linux 系统中,硬件温度信息可能会被写入到 /sys
文件系统下的特定文件中,某些显卡的温度信息可以在 /sys/class/drm/card<数字>/device/
目录下的相关文件中找到,但这种方式相对较为复杂,且不同硬件和驱动的情况下,文件路径和内容格式可能会有很大差异,一般不推荐普通用户使用这种方式来获取硬件温度信息,除非对系统文件结构非常熟悉并且在特定硬件环境下有深入了解。
FAQs
问题 1:为什么使用 sensors
命令后没有显示任何温度信息?
答:可能是以下原因导致的,一是传感器相关的内核模块没有正确加载,虽然运行了 sensors-detect
命令,但可能由于硬件兼容性问题或者操作过程中出现错误,导致部分传感器的内核模块未成功加载,二是系统本身可能不支持某些硬件的传感器功能,例如一些较老或者特殊型号的硬件可能没有在 Linux 系统下提供完善的传感器驱动支持,还有可能是 sensors
命令的配置文件出现问题,可以检查 /etc/sensors.conf
文件(如果存在)是否正确配置。
问题 2:使用图形化工具查看硬件温度是否准确?
答:图形化工具是基于系统底层的传感器接口来获取数据的,只要工具本身没有问题并且系统传感器正常工作,那么显示的温度信息是相对准确的,图形化工具可能会受到一些因素的影响,比如工具本身的刷新频率设置可能会导致显示的温度有一定的延迟,不能完全实时反映硬件温度的快速变化,如果系统存在某些异常情况,例如传感器驱动程序出现故障或者硬件与软件之间的通信出现问题,图形化工具显示的温度也可能不准确。
小伙伴们,上文介绍linux如何检测硬件温度的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/12278.html