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

雨芳吖_6367

雨芳吖_6367

2026-08-15

715人浏览

原创

直接从 /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。

常见操作步骤:

  • 先确认哪个 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 才是真实温度
  • 如果报 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)。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

启用 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 对应 sensor,它不会自动启用 —— 在 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 的事件机制,或直接监听 inotify on temp*_input(但大多数 hwmon 设备不支持 inotify)

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

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
传感器故障解决方法
传感器故障解决方法

传感器故障排除指南:识别故障症状(如误读或错误代码)。检查电源和连接(确保连接牢固,无损坏)。校准传感器(遵循制造商说明)。诊断内部故障(目视检查、信号测试、环境影响评估)。更换传感器(选择相同规格,遵循安装说明)。验证修复(检查信号准确性,监测异常行为)。

2024.06.04

4324

7

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.10.27

6721

23

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2023.12.28

2101

8

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2023.12.28

1810

6

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.05

1041

6

ubuntu安装golang
ubuntu安装golang

本专题整合了ubuntu安装golang所有方法汇总,阅读下面的文章了解更多详细操作。

2025.12.13

359

13

Linux如何安装Ubuntu并完成基础系统优化教程
Linux如何安装Ubuntu并完成基础系统优化教程

访问Ubuntu官网或国内镜像站下载ISO镜像,利用Rufus或Etcher工具制作USB启动盘。重启电脑进入BIOS设置U盘引导,按提示完成分区与账户设置以安装系统。安装完毕后,首要任务是将软件源更换为国内镜像以加速下载,接着在终端执行更新命令升级系统组件,并安装显卡驱动及常用开发工具,至此即可完成基础环境搭建与优化。

2026.03.31

124

6

Ubuntu系统安装与基础配置
Ubuntu系统安装与基础配置

本指南详解Ubuntu系统安装全流程:从制作启动盘、分区规划到驱动配置,手把手带你完成系统部署。涵盖软件源优化、常用工具安装及桌面个性化设置,助你快速搭建稳定高效的Linux开发环境,零基础也能轻松上手。

2026.04.15

146

6

Ubuntu日常操作与高效使用
Ubuntu日常操作与高效使用

本指南聚焦Ubuntu日常操作与效率提升,深入解析终端命令、APT软件管理及权限控制等核心技能。从文件管理到开发环境搭建,再到网络配置与数据备份,全方位助你摆脱鼠标依赖,构建流畅的Linux工作流,让系统操作更加得心应手。

2026.04.17

87

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程