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

Linux怎么查看系统的温度

sensors 命令能直接显示 CPU 封装和各核心温度,但**必须先运行 sensors-detect 并加载对应内核模块**,否则大概率输出为空或只显示 Adapter: Non-I2C bus

为什么 sensors 没输出或全是虚拟设备?

这不是命令坏了,是内核没加载传感器驱动:coretemp(Intel)、k10temp(AMD)、nct6775(部分主板)这些模块才是真正在读硬件的。

绕过 sensors-detect:直接读 /sys/class/hwmon

这个路径是内核原生暴露的,不依赖用户态工具,适合脚本、容器或嵌入式场景。所有温度值单位都是毫摄氏度(m°C),需除以 1000 才是实际摄氏度。

/sys/class/thermal 快速筛出 CPU 封装温度

这个子系统更侧重热策略管理,目录名带语义(如 x86_pkg_tempcpu-thermal),比 hwmon 更易理解,但不是每个 thermal_zone* 都对应物理传感器。

真实环境里,sensors 是最省心的选择,但前提是探测和模块加载走对了;一旦失败,别死磕,立刻切到 /sys/class/hwmon/sys/class/thermal —— 它们不依赖额外软件,也不受发行版包管理干扰,只是需要你多花几秒确认路径和单位。
本文转载于:https://www.php.cn/faq/2978383.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。