想直接拿到 /sys/class/hwmon 里的原始温度值,其实不复杂:先执行 cat /sys/class/hwmon/hwmon/name,找到名称里带 coretemp 或 k10temp 的目录;接着读取对应的 temp_input 文件。这里拿到的数值单位是毫摄氏度,最后再除以 1000,才是真实温度。

Ubuntu如何配置具体的系统硬件传感器读数监控视图

怎么直接从 /sys/class/hwmon 读取原始温度值

其实不用额外安装任何工具,只要系统已经把传感器驱动加载好了,比如 coretempk10temp,温度数据就可以直接读取。核心路径就在 /sys/class/hwmon/hwmon*/temp*_input:这些文件里存的是“毫摄氏度”的整数值,像 42500 这样的数字,换算过来就是 42.5°C。

常见操作步骤:

sensors 命令输出不稳定?常见干扰和过滤技巧

sensors 本身只是个封装工具,底层还是读 /sys/class/hwmon,但它会尝试解析所有芯片,容易因某个传感器 I/O 错误导致整行输出中断,比如出现 ERROR: Can't get value of subfeature temp*_min: I/O error

稳定提取温度的方法:

Psensor 图形界面里为什么找不到 GPU 温度

Psensor 默认只显示 lm-sensors 能识别的设备,而 NVIDIA GPU 温度需要 XNVCtrl 库支持,AMD GPU 则依赖 amdgpu 驱动暴露的 sysfs 接口(如 /sys/class/hwmon/hwmon*/device/temp1_input)。

启用 GPU 监控的必要条件:

监控脚本里用 watch -n 1 为什么温度刷新不准

watch 是简单轮询,但硬件传感器更新频率本身受内核驱动限制,有些芯片(如 it87)默认每 2 秒才更新一次 temp*_inputwatch -n 1 只是强行重读,不是实时采样。

更可靠的做法:

真正影响读数准确性的,往往不是脚本写法,而是传感器芯片本身的采样周期和内核驱动实现 —— 这一点容易被忽略。

本文转载于:https://www.php.cn/faq/2993949.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。