Linux系统温度查看方法与命令详解
当 sensors 命令没有任何输出,或者只显示少量虚拟设备时,通常并不代表 Linux 系统没有温度信息,而是因为系统尚未执行 sensors-detect,同时也没有加载 coretemp、k10temp 等常见传感器内核模块。更可靠的排查方式是先完成 I2C 适配器探测并加载对应驱动模块;如果
当 sensors 命令没有任何输出,或者只显示少量虚拟设备时,通常并不代表 Linux 系统没有温度信息,而是因为系统尚未执行 sensors-detect,同时也没有加载 coretemp、k10temp 等常见传感器内核模块。更可靠的排查方式是先完成 I2C 适配器探测并加载对应驱动模块;如果暂时不准备这样操作,也可以直接读取 /sys/class/hwmon 或 /sys/class/thermal 路径下以毫摄氏度保存的温度数值,从而查看 Linux CPU 温度和系统温度。

sensors 命令可以直接查看 CPU 封装温度以及各核心温度,但前提是必须先运行 sensors-detect 并加载对应内核模块,否则大多数情况下输出会为空,或者只显示 Adapter: Non-I2C bus 之类的虚拟信息。
为什么 sensors 没输出或只显示虚拟设备?
这通常不是 sensors 命令本身失效,而是 Linux 内核没有加载温度传感器驱动。像 coretemp(Intel 处理器)、k10temp(AMD 处理器)、nct6775(部分主板硬件监控芯片)这些模块,才是真正负责读取硬件温度数据的关键组件。
- 运行
sensors-detect时,在Probe I2C adapter?提示处建议输入YES,不要直接回车跳过,否则可能漏掉关键探测步骤 - 探测完成后,模块名称通常会写入
/etc/modules;如果没有自动写入,可手动执行sudo modprobe coretemp k10temp进行加载 - 可通过命令检查模块是否已生效:
lsmod | grep -E "(coretemp|k10temp)",如果没有输出,说明相关模块仍未成功加载 - 部分笔记本、ARM 设备(例如树莓派)以及虚拟机环境,本身就不支持这些模块,因此即使执行了
sensors,也可能无法查看 CPU 温度
绕过 sensors-detect:直接读取 /sys/class/hwmon
该路径由 Linux 内核原生提供,不依赖用户态工具,非常适合脚本监控、容器环境或嵌入式设备中直接读取温度数据。需要注意的是,这里的所有温度值单位均为毫摄氏度(m°C),必须除以 1000 才能得到实际的摄氏度数值。
- 先定位包含 CPU 温度传感器的目录:
ls /sys/class/hwmon/→ 然后逐个执行cat /sys/class/hwmon/hwmon*/name 2>/dev/null,重点查找coretemp或k10temp - 确认目录后再读取温度:
cat /sys/class/hwmon/hwmon2/temp1_input一般表示 Package 总温,temp2_input开始通常对应 Core 0、Core 1 等核心温度(具体编号会因硬件平台不同而变化) - 需要注意的是,某些 AMD 平台可能使用
in*_input而不是temp*_input,因此实际使用时应以系统输出为准,不建议硬编码固定路径 - 实时查看温度示例:
watch -n 1 'cat /sys/class/hwmon/hwmon2/temp1_input /sys/class/hwmon/hwmon2/temp2_input | awk "{printf "Package: %.1f°C\nCore 0: %.1f°C\n", $1/1000, $2/1000}"'
通过 /sys/class/thermal 快速筛选 CPU 封装温度
这个子系统更偏向 Linux 热管理与散热策略控制,目录名称通常带有明确语义,例如 x86_pkg_temp、cpu-thermal 等,相比 hwmon 更容易理解。不过需要注意,并非每个 thermal_zone* 都一定对应真实的物理温度传感器。
- 先列出所有 zone 类型:
for z in /sys/class/thermal/thermal_zone*; do [ -f "$z/type" ] && echo "$(cat $z/type): $(cat $z/temp 2>/dev/null) m°C"; done - 重点关注类型为
x86_pkg_temp或Package id 0的 zone;而cpu-thermal更常见于 ARM 平台或通用抽象层,并不一定就是 CPU 封装温度 - 一键获取 CPU 封装温度:
for z in /sys/class/thermal/thermal_zone*; do [ "$(cat $z/type 2>/dev/null)" = "x86_pkg_temp" ] && echo "Package → $(($(cat $z/temp 2>/dev/null)/1000))°C"; done - 这里的数值单位同样统一为毫摄氏度,但部分老旧内核可能返回 0 或无效值,可结合
cat $z/mode检查其状态是否为enabled
sensors 依然是查看系统温度和 CPU 温度最省心的方式,但前提是传感器探测和内核模块加载必须正确完成。一旦 sensors 无法正常工作,就不要反复纠结,直接切换到 /sys/class/hwmon 或 /sys/class/thermal 读取温度数据即可。它们不依赖额外软件,也不会受到发行版包管理差异的影响,只需要多花几秒确认具体路径和温度单位。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。
Win10专业版U盘安装教程:制作启动盘与完整安装步骤
本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。
Windows10系统字体太小怎么调大
Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。
Win10磁盘占用100%基础排查:从监控到清理的完整步骤
Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。
Windows10系统怎么显示此电脑和控制面板
Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-09-01 16:50
2026-09-01 16:50
2026-08-27 15:46
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:44
2026-08-27 15:44
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

