news 2026/8/22 16:30:15

从零安装 lm-sensors 硬件监控的完整实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零安装 lm-sensors 硬件监控的完整实战

从零安装 lm-sensors 硬件监控的完整实战

【免费下载链接】lm-sensorslm-sensors repository项目地址: https://gitcode.com/gh_mirrors/lm/lm-sensors

3 点 17 分,机房服务器自己重启了。查内核日志,是 CPU 过热触发的保护机制,而风扇转速早就不对劲。要是那天就能直接读到温度和风扇数据,这事本可以提前发现。lm-sensors 就是干这个的:一个开源的 Linux 硬件监控工具,实时采集 CPU 温度、风扇转速、电压等传感器数据。下面带你从零装好、跑通、用起来。

数据是怎么流起来的

内核里的传感器驱动(coretemp、k10temp、nct6775 这类)先把每颗芯片的读数暴露成 /sys/class/hwmon/ 下的一组 sysfs 文件。libsensors 库负责读这些文件,再按配置文件里的 label、compute 规则把原始值换算成人能看懂的标签和单位,核心解析代码在 lib/ 里。最上层的 sensors 命令、sensord 守护进程、fancontrol 风扇调速工具全都从这个库取数,各管一种输出形态。一句话:内核 sysfs → libsensors 加工 → 各工具输出。

3 行命令装好

主流发行版直接用包管理器,两条命令任选其一:

apt install lm-sensors # Debian / Ubuntu dnf install lm_sensors # RHEL / Fedora

只有发行版版本太旧、或要跟踪最新代码时才走源码编译:

git clone https://gitcode.com/gh_mirrors/lm/lm-sensors cd lm-sensors make all && sudo make install # 需要 gcc、make、bison、flex

装完主要用这几个东西:/usr/bin/sensors 看读数,/usr/bin/sensors-detect 扫硬件,/etc/sensors3.conf 存主配置。仓库里还有一份带注释的样例配置,在 etc/sensors.conf.eg。

第一次跑通:检测与加载驱动

先跑检测脚本,一路按提示选 Y:

sudo sensors-detect

它会逐条扫 I2C/SMBus 总线,最后列出缺哪些内核模块。照推荐加载,Intel 机器最常见的是:

sudo modprobe coretemp

然后验证:

sensors

输出里出现这样的芯片块,温度是具体数字,就算通了:

coretemp-isa-0000 Core 0: +45.0 °C (high = +85.0 °C)

改配置让输出可读

主配置在 /etc/sensors3.conf,自己写的板卡配置放 /etc/sensors.d/ 目录更干净。最常改两样:label 重命名,compute 换算公式。一个最小可运行片段:

chip "nct6775-*" label in0 "VCore" label in3 "+12V" compute in3 ((6.8/10)+1)*@, @/((6.8/10)+1) set temp1_max 85

存盘后把阈值写进硬件并验证:

sensors -s && sensors

in3 应该从 1.8V 左右的原始值变成稳定的 +12V 上下,标签也换了名字。

自动化:守护监控、阈值报警、风扇联动 🔧

三个方向各一条命令。后台守护:

sudo sensord -c /etc/sensord.conf

它按固定周期把传感器读数写进日志或 RRD 数据库,不用每次手动敲 sensors。阈值报警不用单独起服务:配置里写 set temp1_max 85,温度一旦越线,sensors 输出里对应数值旁自动挂上 ALARM 标记。风扇联动先交互式生成配置,再启动:

sudo pwmconfig sudo fancontrol

它按映射表把温度转成转速写进 pwm 文件,核心字段只有三个:FCTEMPS(参考哪路温度)、FCFANS(控制哪路风扇)、MINTEMP/MAXTEMP(温度区间边界)。

排错:按症状找药 ⚠️

读数一直是空,或提示找不到芯片

驱动多半没加载。确认 sysfs 里有芯片目录:

ls /sys/class/hwmon/

是空的就按 sensors-detect 推荐列表逐个 modprobe。

检测脚本什么都扫不到

内核 I2C 子系统可能没开。看总线是否枚举出来了:

ls /sys/bus/i2c/devices/

一条 I2C 总线都没有,就得重编内核把 I2C 驱动和板载总线打开。

电压读数明显不对

缺 compute 公式,或者公式和实际分压电阻对不上。翻仓库的 configs/ 目录按主板型号找现成配置抄过来,比对一下公式。

普通用户跑 sensors 报权限错误

用户没有读 sysfs 文件的组权限。看一眼文件属组:

ls -l /sys/class/hwmon/hwmon0/

把用户加进对应组(常见的是 i2c),重新登录生效。

进阶:接进监控系统,或自己写脚本 ⚙️

已有监控栈的话,入口都只有一句话。Prometheus:node_exporter 的 textfile collector 可以直接吐 sensors 数据。Zabbix:定义一个 UserParameter 调用 sensors -j 拿 JSON。最轻的玩法:挂个 cron 定时跑小脚本。直接能用的监控脚本,15 行以内:

#!/bin/bash THRESHOLD=75 LOG=/var/log/cpu-temp.log while true; do t=$(sensors -j | jq -r '.["coretemp-isa-0000"].temp1.temp1_input // 0') if [ "$t" -ge "$THRESHOLD" ]; then echo "$(date) temp ${t}C too high" >> "$LOG" logger -t sens "CPU temp ${t}C" fi sleep 30 done

行动清单

  1. 包管理器装好 lm-sensors,跑一次 sudo sensors-detect,按推荐把驱动加载上。
  2. 执行 sensors,确认输出里能看到温度和风扇转速两个块。
  3. 在 /etc/sensors3.conf 写 label 和 compute 规则,sensors -s 把阈值写回硬件。
  4. 机器多的话部署 sensord 持续落盘,数据接进 Prometheus 或 Zabbix。
  5. 读数还不对,就到 configs/ 目录里按板型搜现成配置对照。

参考资料:配置文件语法 sensors.conf.5,库接口说明 libsensors-API.txt。

【免费下载链接】lm-sensorslm-sensors repository项目地址: https://gitcode.com/gh_mirrors/lm/lm-sensors

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 16:27:46

future/promise并发模型:从内存布局到跨语言实践

1. 这不是语法糖,是系统级并发思维的切换async、future、packaged_task、promise——这四个词凑在一起,绝不是随便堆砌的C或JavaScript术语列表。它们是同一枚硬币的两面:一面刻着“谁来执行”,另一面写着“结果怎么拿”。我带过三…

作者头像 李华
网站建设 2026/8/22 16:27:45

Marketch:从Sketch设计稿直接量出间距和CSS尺寸的顺手工具

Marketch:从Sketch设计稿直接量出间距和CSS尺寸的顺手工具 【免费下载链接】marketch Marketch is a Sketch 3 plug-in for automatically generating html page that can measure and get CSS styles on it. 项目地址: https://gitcode.com/gh_mirrors/ma/market…

作者头像 李华
网站建设 2026/8/22 16:25:52

RAG 评测体系完整指南

RAG 评测体系完整指南 RAG(检索增强生成)的评测核心,是围绕「检索是否找得准」和「生成是否用得对」两大核心问题展开,区别于纯大模型的生成质量评测,也不同于 Agent 的全链路决策评测,其核心目标是控制幻觉…

作者头像 李华
网站建设 2026/8/22 16:20:39

边缘AI时事:PTZ摄像机的边缘算力是怎么来的?

熟悉PTZ摄像机的朋友都知道,AI功能如今已经是标配,诸如自动跟踪、自动取景、自动框选、自动构图等等。但AI功能需要持续运行深度学习模型,对算力有持续需求,所以我们需要解决一个问题:“算力从哪来?部署在哪…

作者头像 李华
网站建设 2026/8/22 16:20:30

Vue3 Ant Design 中后台模板教程:5分钟跑通 vue3-antd-admin

Vue3 Ant Design 中后台模板教程:5分钟跑通 vue3-antd-admin 【免费下载链接】vue3-antd-admin 使用vue3ant-design-vuevitets开发的通用后台框架,实现了权限系统、动态菜单、表格集成快速使用等功能,简洁干净开箱即用。 项目地址: https:/…

作者头像 李华
网站建设 2026/8/22 16:18:55

重试机制应用

重试机制的常见应用场景重试机制是分布式系统和网络编程中一种常见的容错策略,主要用于应对临时性故障。以下是典型的应用场景:1. 网络通信场景网络抖动:数据传输过程中因网络不稳定导致的丢包或延迟连接超时:客户端与服务端建立连…

作者头像 李华