发布于2026-08-14 阅读(0)
扫一扫,手机访问
sensors 命令没有任何输出,或者只显示一些虚拟设备,通常不是温度不存在,而是系统还没运行 sensors-detect,也没有把 coretemp、k10temp 这类内核模块加载起来。更稳妥的做法是,先完成 I2C 适配器探测并加载对应模块;如果暂时不走这条路,也可以直接读取 /sys/class/hwmon 或 /sys/class/thermal 路径下以毫摄氏度保存的数值。

sensors 命令能直接显示 CPU 封装和各核心温度,但**必须先运行 sensors-detect 并加载对应内核模块**,否则大概率输出为空或只显示 Adapter: Non-I2C bus。
sensors 没输出或全是虚拟设备?这不是命令坏了,是内核没加载传感器驱动:coretemp(Intel)、k10temp(AMD)、nct6775(部分主板)这些模块才是真正在读硬件的。
sensors-detect 时,在 Probe I2C adapter? 提示处必须输入 YES,不能直接回车跳过/etc/modules;若没写,手动执行 sudo modprobe coretemp k10templsmod | grep -E "(coretemp|k10temp)",无输出说明模块未就位sensors 必然不可用sensors-detect:直接读 /sys/class/hwmon这个路径是内核原生暴露的,不依赖用户态工具,适合脚本、容器或嵌入式场景。所有温度值单位都是毫摄氏度(m°C),需除以 1000 才是实际摄氏度。
ls /sys/class/hwmon/ → 逐个执行 cat /sys/class/hwmon/hwmon*/name 2>/dev/null,找 coretemp 或 k10tempcat /sys/class/hwmon/hwmon2/temp1_input 通常是 Package 总温,temp2_input 起对应 Core 0、Core 1…(编号因平台而异)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 封装温度这个子系统更侧重热策略管理,目录名带语义(如 x86_pkg_temp、cpu-thermal),比 hwmon 更易理解,但不是每个 thermal_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"; donex86_pkg_temp 或 Package id 0 的 zone;cpu-thermal 多为 ARM 或通用抽象,不一定等于封装温度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"; donecat $z/mode 看是否为 enabledsensors 是最省心的选择,但前提是探测和模块加载走对了;一旦失败,别死磕,立刻切到 /sys/class/hwmon 或 /sys/class/thermal —— 它们不依赖额外软件,也不受发行版包管理干扰,只是需要你多花几秒确认路径和单位。 上一篇:Mac访达怎么关闭空格键预览功能
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9