可使用lm-sensors、sysfs接口、psensor、inxi或hwinfo五种方法获取linux系统cpu温度及硬件信息:依次对应命令行检测、内核接口读取、图形化监控、综合信息汇总和底层硬件扫描。

如果您在Linux系统中需要了解CPU当前的运行温度或获取硬件详细信息,则可能是由于系统过热、性能异常或硬件诊断需求。以下是实现该目标的具体步骤:
一、使用lm-sensors工具检测CPU温度
lm-sensors是一个专用于监控硬件健康状态(包括温度、电压、风扇转速)的开源工具,需先探测并加载传感器模块才能读取准确数据。
1、在终端中执行sudo apt install lm-sensors(Debian/Ubuntu)或sudo yum install lm_sensors(CentOS/RHEL)安装工具。
2、运行sudo sensors-detect,按回车跳过提示,当出现Probe I2C adapter? (YES/no)时输入YES,后续全部按YES直至完成探测。
3、执行sudo service kmod start(或sudo systemctl restart kmod)确保内核模块已加载。
4、输入sensors命令,输出中查找标有CPU Temperature或Package id 0等字段的行,其后数值即为实时温度。
5、若输出为空或显示Adapter: Non-I2C bus,说明当前硬件未被支持或传感器未启用,需检查主板兼容性。
二、通过sysfs接口直接读取温度值
部分现代Intel/AMD处理器在内核启用thermal驱动后,会将温度数据暴露于/sys/class/thermal/路径下,无需额外安装软件即可访问。
1、在终端中执行ls /sys/class/thermal/,查看是否存在以thermal_zone开头的子目录。
2、对每个thermal_zoneX目录执行cat /sys/class/thermal/thermal_zoneX/type,筛选出类型为cpu-thermal或Package id 0的区域。
3、找到对应目录后,运行cat /sys/class/thermal/thermal_zoneX/temp,返回值为毫摄氏度,例如65000表示65.0°C。
4、可使用watch -n 1 'cat /sys/class/thermal/thermal_zoneX/temp'实现每秒刷新监控。
三、使用psensor图形化界面工具查看温度
psensor提供带图表的GUI界面,适合桌面用户直观观察多传感器数据趋势,同时支持告警阈值设置。
1、执行sudo apt install psensor(Ubuntu/Debian)或添加EPEL源后运行sudo yum install psensor(RHEL/CentOS)。
2、安装完成后,在应用菜单中启动Psensor,或在终端输入psensor。
3、首次运行时点击Preferences → Sensor Preferences,勾选Enable hardware monitoring并确认加载。
4、主界面中将显示CPU核心温度、主板传感器及GPU温度(如NVIDIA驱动已正确安装),各曲线颜色对应不同传感器。
5、右键图表可导出历史数据,双击传感器条目可设置高温告警阈值(如85°C)并启用声音提示。
四、使用inxi命令一次性获取完整硬件信息
inxi是一款轻量级系统信息脚本,能汇总CPU型号、核心数、内存容量、磁盘型号、显卡驱动版本及传感器可用状态,适用于快速排查硬件配置。
1、运行sudo apt install inxi(Debian系)或sudo yum install inxi(RHEL系)完成安装。
2、执行inxi -Fxz,其中-F表示全量信息,-x启用扩展细节,-z隐藏敏感MAC地址。
3、在输出结果中定位CPU:段落,查看Temperature:字段是否列出数值;若显示NA,说明传感器未就绪。
4、检查System:部分的Motherboard:型号,结合厂商文档确认是否支持IPMI或IT87系列温控芯片。
5、若需仅显示温度相关行,可追加管道命令:inxi -Fxz | grep -i "temp\|sensor"。
五、使用hwinfo命令深度扫描硬件传感器
hwinfo功能比inxi更底层,能枚举所有PCI设备、ACPI接口及嵌入式控制器(EC)寄存器映射,适用于调试传感器识别失败问题。
1、在终端中输入sudo apt install hwinfo(Debian/Ubuntu)或sudo zypper install hwinfo(openSUSE)。
2、运行sudo hwinfo --short快速浏览硬件分类概览,确认temperature是否出现在设备列表中。
3、执行sudo hwinfo --sensors,逐行解析输出中的Device、Model和Temperature字段。
4、若发现acpi_thermal设备但温度恒为0,尝试加载acpi_enforce_resources=lax内核参数并重启。
5、对于笔记本用户,重点关注ec_sys(嵌入式控制器)设备下的temp1_input文件路径,通常位于/sys/devices/platform/ec.0/ec_sys/。










