
lm-sensors 教程如何在 Linux 上查看温度、风扇转速与电压【免费下载链接】lm-sensorslm-sensors repository项目地址: https://gitcode.com/gh_mirrors/lm/lm-sensorsLinux 服务器跑久了风扇越来越吵机箱温度高得吓人你却说不清是 CPU 还是主板在发热。lm-sensors 就是为这种场景准备的 Linux 硬件监控工具它把内核驱动读到的温度、风扇转速、电压整理成可读的数字。本文面向新手和轻度运维读完你能完成安装、跑通sensors命令、看懂输出并用配置修复看不懂的名字。先搞清楚 lm-sensors 能帮你做什么一句话它让你在不装图形界面的情况下用一条命令看到所有硬件读数。实时读数CPU 与芯片温度、风扇 RPM、各路电压自动检测sensors-detect会扫描系统告诉你该加载哪些内核驱动持续记录sensord守护进程可以盯着传感器超限时记录日志、写入 RRD 数据库自动控风扇fancontrol按温度调节 PWM 转速替代主板的固定策略一个需要提前知道的边界lm-sensors 本身不含芯片知识它依赖内核驱动。如果你的硬件在内核里没有驱动换新版 lm-sensors 也帮不上忙得升级内核。另外笔记本很少暴露监控芯片温度一般走 ACPIsensors-detect扫不到东西属于正常现象。5 分钟跑起来安装并验证是否可用多数发行版已经提供现成软件包先查一下本地源# Debian/Ubuntu apt list --upgradable | grep lm-sensors # 或者直接查看已装命令 which sensors如果仓库里没有或你需要最新代码可以从源码构建。编译依赖 make、gcc、flex、bison先用which make gcc flex bison确认都在。源码克隆下来后编译安装只需要两步git clone https://gitcode.com/gh_mirrors/lm/lm-sensors cd lm-sensors make all make install装完后马上做两件事。第一步让工具自己找硬件需要 root它会列出 I2C/SMBus 总线、已识别的芯片并建议要加载的驱动模块一路按提示回答即可sudo sensors-detect第二步验证读数是否真的出来了sensors如果你看到按芯片分组的温度、电压、风扇条目说明链路已经打通内核驱动 → /sys 接口 → libsensors 库 → 命令行输出。读懂 sensors 的输出sensors的输出按芯片分组每个条目是编号 数值 单位。温度默认摄氏度加-f切换成华氏度sensors -f输出里几类常见条目temp1: 45.0°C—— 某路温度后面的high、crit是告警阈值fan1: 900 RPM—— 风扇实测转速in0: 1.02 V—— 电压读数low/high是上下限有两个容易让人困惑的点为什么叫temp1而不是CPU内核驱动只按引脚编号上报数据真正的命名要靠配置文件下一节讲。数字明显不对比如电压显示十几伏通常是分压电阻的换算系数没配。配置改好后重新运行sensors即可生效不需要重启。配置文件从哪来让 temp1 变成 CPU 核心libsensors 通过配置文件完成两件事给引脚起人话名字以及做数值换算。仓库里的 etc/sensors.conf.eg 是一份示例文件注释里写清了规则而真正能直接抄的主板配方在 configs/ 目录下按厂商组织比如华硕 P8P67_PRO 的配置就长这样chip nct6776-* label in0 Vcore label in1 12V compute in1 * 12, / 12 label temp1 MB ignore in5label负责改名compute负责乘除换算主板分压电路导致的读数放大问题就是在这里修正的ignore则把一直读数异常、没意义的引脚藏掉。上手建议在 configs/ 里找到和你主板同型号或同芯片的文件把内容追加进你的 sensors 配置文件。找不到完全同型号时找同一监控芯片如 nct6775、lm75的相近配置再按实际读数微调阈值。进阶让风扇跟着温度转如果主板的 PWM 调速不顺手要么太吵要么太猛lm-sensors 自带一套软件调速方案。第一步用pwmconfig交互式探测哪些 PWM 输出真的连着风扇并生成配置。注意这个脚本会逐个把风扇停几秒做测试跑之前确认你有空盯着机器跑完后务必亲自确认所有风扇已恢复全速sudo pwmconfig探测结果写入/etc/fancontrol.conf核心字段就几个INTERVAL是采样间隔秒数FCTEMPS/FCFANS把 PWM 对应到温度和风扇MINTEMP/MAXTEMP定义最低和最高转速对应的温度区间MINPWM是低温时的保底占空比。字段说明见 doc/fancontrol.txt。第二步启动守护进程sudo fancontrol它除了按温度算转速还会检查风扇是否停转停转会尝试重启 PWM 输出——这一点在风扇实际故障时是最后的一道防线。另外 prog/init/ 里提供了各发行版的 fancontrol、sensord 服务脚本可以让它们随系统启动。常见问题排查思路sensors-detect 说没找到任何传感器依次检查三件事是不是笔记本大概率走 ACPI此工具无效内核有没有对应监控芯片的驱动lsmod看一下必要时sudo modprobe加载如 coretemp、k10temp、nct6775I2C 总线支持是否启用。前两项是绝大多数空结果的原因。有读数但名字和数值都不对这基本不是故障是缺主板配置。按上一节从 configs/ 找配方重点修label和compute。sensors 报错或某个芯片的条目异常按官方排障思路先用sensors单独复现问题然后逐个卸载内核驱动再跑一次哪个驱动卸掉后错误消失问题就出在那个驱动上——这种情况应该向内核驱动维护者反馈而不是 lm-sensors。还不行就用strace sensors跟踪系统调用看异常。某些条目一直干扰阅读在配置里加ignore把它隐藏比每次手动过滤干净。下一步可以做什么先让sensors每天稳定跑着观察一周的读数基线再决定要不要收紧告警阈值需要长期曲线时用sensord的 RRD 支持做历史存储你的主板如果在 configs/ 里还没有配置文件整理好 label 和 compute 后贡献一份省得下次遇到同样硬件的人再踩一遍坑整个流程其实很短sensors-detect找硬件sensors看读数配置文件修名字和换算fancontrol管转速。把这条链路跑通Linux 的硬件状态就透明了。【免费下载链接】lm-sensorslm-sensors repository项目地址: https://gitcode.com/gh_mirrors/lm/lm-sensors创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考