HCRM博客

CentOS系统CPU温度监控,lm_sensors安装指南与常见问题解析

查看CentOS CPU温度:lm_sensors安装步骤

机器风扇突然狂转,机箱烫手,却找不到温度数据?在CentOS里,想实时瞄一眼CPU到底几度,lm_sensors是最轻量也最靠谱的那把钥匙。下面这份笔记把安装、报错、读数、开机自启一次讲透,照着敲命令就行,零废话。

CentOS系统CPU温度监控,lm_sensors安装指南与常见问题解析-图1

为什么非得用lm_sensors

CentOS默认不带温度驱动,/proc/cpuinfo、htop、top统统不会给你摄氏度。lm_sensors把主板Super I/O、Intel DTS、AMD K10等芯片的寄存器扒出来,转成人类能看懂的数字,再丢到/sys/class/hwmon,方便shell直接读取。比起闭源软件,它开源、无广告、不捆绑,仓库里就能拉到。

前置检查:先确认内核已加载模块

终端输入ls /sys/class/hwmon,如果返回空,说明驱动没就位;有文件夹也别高兴,里面没temp标签同样白搭。继续走下面安装流程即可。

步骤一:配置EPEL,别让yum找不到包

CentOS 7/8/Stream都默认关掉EPEL,直接yum install sensors-detect会提示No package。一次性搞定:

CentOS系统CPU温度监控,lm_sensors安装指南与常见问题解析-图2

yum install epel-release -y

看到Complete!再往下走。

步骤二:安装lm_sensors主包与检测脚本

yum install lm_sensors sensors-detect -y

这条命令会把libsensors、perl检测依赖、fancontrol一并拖下来,省得后面手动补。

步骤三:探测芯片,一路Yes

CentOS系统CPU温度监控,lm_sensors安装指南与常见问题解析-图3

输入

sensors-detect

程序会让你确认I2C、ISA、Super I/O、DMI等接口,普通台式机或云主机无脑按回车,默认就是Yes。最后会问“Add to /etc/modules?”,写Yes,这样重启后模块自动加载。

步骤四:手动加载模块,立即生效

探测完别急着sensors,先让内核认账:

systemctl restart kmod

或者老派一点:

modprobe coretemp # Intel

modprobe k10temp # AMD

没报错就是成功。

步骤五:跑一下sensors,看读数

直接敲

sensors

典型输出:

coretemp-isa-0000

Package id 0: +47.0°C (high = +80.0°C, crit = +100.0°C)

Core 0: +45.0°C

Core 1: +46.0°C

如果看到ALARM或者-128°C,说明模块没对上号,回到sensors-detect再跑一遍,多半把遗漏的芯片打开即可。

步骤六:写个systemd服务,开机自动加载模块

虽然sensors-detect已写/etc/modules,但CentOS 8以后改用modules-load.d,更干净:

echo coretemp > /etc/modules-load.d/temp.conf

echo k10temp >> /etc/modules-load.d/temp.conf

重启后lsmod | grep temp能看到模块,即无虞。

步骤七:用watch持续监控,不用装图形

临时盯温度:

watch -n 1 sensors

一秒刷新一次,跑压力测试时最直观。退出按Ctrl+C。

步骤八:集成到Zabbix或Prometheus

写个UserParameter:

echo 'UserParameter=cpu.temp,sensors | grep Package | awk '{print $4}' | cut -c2-3' >> /etc/zabbix/zabbix_agentd.conf

重启agent,服务端就能画图告警。Prometheus同理,node_exporter自带textfile,把sensors输出重定向到.prom文件即可。

常见坑与急救

1. 虚拟机无数据

VMware、KVM、Xen默认不直通硬件传感器,sensors-detect会提示Sorry, no sensors。换物理机再试。

2. 读数恒为0

某些国产主板把Super I/O锁死,升级BIOS或刷OpenIPC固件才能解开。

3. 模块冲突

nct6775与w83627hf同时加载会死机,黑名单掉一个:

echo blacklist w83627hf > /etc/modprobe.d/blacklist.conf

4. 权限不足

普通用户执行sensors提示段错误,加sudo或者把用户加入video组。

一条命令总结

懒得看长文?复制下面整段,回车即可:

yum install epel-release -y && yum install lm_sensors -y && sensors-detect --auto && modprobe coretemp && sensors

十秒后就能在终端里看到CPU温度。

把lm_sensors玩熟,风扇转速、主板电压、硬盘SMART都能一条链打通,再配个短信告警,机器过热还没死机你就能收到通知。别等蓝屏才后悔,温度监控就是给服务器买的最便宜保险。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41973.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~