游乐游手机版
首页/系统平台/文章详情

Ubuntu系统硬件传感器读数监控视图配置方法

时间:2026-08-16 14:27
如果你想直接获取 sys class hwmon 里的原始温度读数,其实操作并不难:先执行 cat sys class hwmon hwmon name,找到名称中包含 coretemp 或 k10temp 的目录;然后再读取对应的 temp_input 文件。这里得到的数值单位是“毫摄氏度”,

如果你想直接获取 /sys/class/hwmon 里的原始温度读数,其实操作并不难:先执行 cat /sys/class/hwmon/hwmon/name,找到名称中包含 coretemp 或 k10temp 的目录;然后再读取对应的 temp_input 文件。这里得到的数值单位是“毫摄氏度”,最终需要除以 1000,才能换算成实际温度。

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

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

通常不需要额外安装任何工具,只要系统已经正确加载硬件传感器驱动,例如 coretemp 或 k10temp,就可以直接读取温度数据。关键路径就是 /sys/class/hwmon/hwmon*/temp*_input:这些文件中保存的是“毫摄氏度”的整数值,比如 42500,换算后就是 42.5°C。这也是 Linux/Ubuntu 查看 CPU 温度、硬件传感器温度时最常见的底层方式。

常见操作步骤:

  • 先确认哪个 hwmon* 对应 CPU:运行 cat /sys/class/hwmon/hwmon*/name,输出中包含 coretemp 或 k10temp 的目录通常就是目标设备
  • 进入对应目录,例如 /sys/class/hwmon/hwmon0,然后执行 ls temp*_input 查看可读取的温度通道,如 temp1_input、temp2_input 等
  • 使用 cat temp1_input 读取原始数值,注意结果必须除以 1000,才能得到真实的 CPU 温度
  • 如果提示 Permission denied,说明当前用户没有读取 sysfs 的权限 —— 不建议直接写成 sudo cat,更合理的方法是将用户加入 video 或 root 组,或者调整 /sys/class/hwmon/hwmon*/device 下相关的 udev 规则

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

sensors 命令本质上只是一个封装工具,底层依旧是读取 /sys/class/hwmon,但它会尝试解析系统中的所有传感器芯片,因此很容易因为某个传感器 I/O 错误导致整行输出中断,例如出现 ERROR: Can't get value of subfeature temp*_min: I/O error 这类报错。

想更稳定地提取温度数据,可以参考以下方法:

  • 使用 sensors 2>&1 | grep -E 'Core [0-9]|Package id|temp[0-9]+_input' 过滤出有效温度行,减少无关输出干扰
  • 不要过度依赖空格分隔,因为字段位置并不固定,推荐用 awk 提取冒号后的数值,例如 sensors 2>&1 | awk -F': ' '/Core 0/ {print $2}' | sed 's/°C.*//'
  • 某些主板上的 acpitz 输出单位是千分之一摄氏度,但不会明确带上单位标识,因此脚本处理时要统一换算逻辑,不能只依赖字符串匹配

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

Psensor 默认只显示 lm-sensors 能识别到的硬件设备,而 NVIDIA GPU 温度通常依赖 XNVCtrl 库支持,AMD GPU 则依赖 amdgpu 驱动暴露的 sysfs 接口,例如 /sys/class/hwmon/hwmon*/device/temp1_input。因此在 Ubuntu 或其他 Linux 系统中,Psensor 看不到显卡温度往往并不是软件故障,而是驱动或依赖条件没有满足。

启用 GPU 温度监控的必要条件:

  • NVIDIA 用户需要安装 nvidia-settings 和 libxnvctrl-dev(Ubuntu 软件源中通常叫 libxnvctrl1),否则 Psensor 无法识别并显示 GPU 温度条目
  • 确认 X server 正在运行,并且当前用户拥有访问 /dev/nvidiactl 的权限(常见报错表现为 “No NVIDIA GPU found”)
  • AMD 用户需要检查 amdgpu 模块是否已经加载(lsmod | grep amdgpu),同时确认 /sys/class/hwmon/hwmon*/name 中存在 amdgpu 字样
  • Psensor 启动后还需要手动勾选对应的 GPU 传感器,它不会自动启用 —— 可在 Preferences → Sensors 中展开 “NVIDIA GPU” 或 “AMD GPU”,然后手动勾选需要显示的项目

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

watch 本质上只是简单轮询,而硬件传感器本身的更新频率通常受内核驱动限制。有些芯片,例如 it87,默认每 2 秒才会刷新一次 temp*_input,所以即便执行 watch -n 1,也只是每秒强制重新读取文件,并不等于真正的实时采样。

更稳妥、更准确的做法:

  • 先确认传感器的最大更新频率:读取 /sys/class/hwmon/hwmon*/update_interval(单位为毫秒),多数 Intel CPU 常见值是 2000,也就是每 2 秒更新一次
  • 避免过于频繁地轮询:高频读取 temp*_input 有时可能触发内核限频保护,反而让温度响应出现延迟
  • 如果确实需要亚秒级精度,例如用于风扇控制或更精细的系统监控,就需要改用 libsensor 的事件机制,或者直接监听 temp*_input 的 inotify 事件(不过大多数 hwmon 设备并不支持 inotify)

真正影响温度读数准确性的,很多时候并不是监控脚本本身,而是传感器芯片的采样周期以及内核驱动的实现方式 —— 这一点在 Linux 硬件监控场景中非常容易被忽视。

来源:https://www.php.cn/faq/2993949.html
上一篇Linux取消分区自动挂载的方法与设置步骤 下一篇Linux查看内核参数实时生效状态的方法与确认清单
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。