Ubuntu 24.04下如何自定义Linux sensors3输出并排查配置问题
Ubuntu 24.04下如何自定义Linux sensors3输出并排查配置问题
嘿,我太懂你这种想把lm_sensors输出捋得整整齐齐的需求了——默认的设备名、乱序的传感器看着实在闹心,尤其是你还有10G网卡和多块SCSI磁盘要打理。我结合经验给你拆解下怎么搞定自定义配置,还有排查问题的方法。
先搞懂配置文件的优先级(避免瞎改)
Ubuntu 24.04里的lm_sensors是按这个顺序加载配置的:
- 优先读取
/etc/sensors.d/目录下所有.conf后缀的文件 - 最后才会读取全局的
/etc/sensors3.conf
所以强烈建议你只在sensors.d里放自定义配置,单独建个文件比如my-custom-sensors.conf,这样既不会污染默认配置,出问题了直接删文件就能恢复,方便排查。
排查当前配置失效的核心步骤
你之前改了全局配置又加了sensors.d文件,先按这几步排查:
- 先拿到设备的原始ID(最关键!)
运行sensors -u,这个命令会输出完全未格式化的原始硬件ID和传感器参数——比如你要改的10G网卡、SCSI磁盘,对应的原始ID可能是nct6798-isa-0290、i2c-0-50这种格式,所有自定义配置都必须绑定到这个ID上,猜ID肯定会失效。 - 检查配置文件是否被正确加载
运行sensors -v,这个命令会输出所有加载的配置文件列表,以及详细的加载日志。如果你的自定义文件没出现在列表里,要么是文件名不对(必须是.conf后缀),要么是权限有问题(文件要设为root所有,权限644)。 - 排查语法错误
把你的配置文件路径传给sensors测试:sensors -c /etc/sensors.d/my-custom-sensors.conf -v,如果有语法错误(比如引号漏了、指令写错、括号不匹配),日志里会直接报错。 - 用最小配置验证
先写个极简的配置,比如只重命名一个设备,排除复杂配置的干扰:
然后运行chip "你从sensors -u里拿到的10G网卡ID" name "我的10G网卡" label temp1 "网卡芯片温度"sensors看这个设备的名称和标签有没有变,只要这个生效了,再逐步添加其他配置。
实现你想要的效果的具体操作
1. 重命名设备和传感器
- 重命名整个设备(就是sensors输出里的大标题):用
name指令 - 重命名单个传感器(比如某个温度、电压):用
label指令
示例:
# 针对10G网卡的配置 chip "10G网卡的原始ID" name "10G 网络扩展卡" label temp1 "网卡核心温度" label fan1 "网卡散热风扇" # 针对SCSI磁盘的配置(注意:如果磁盘温度是通过hddtemp获取的,要先装hddtemp并启用) chip "磁盘的原始ID" name "磁盘托架1" label temp1 "托架1磁盘温度"
2. 调整设备输出顺序
lm_sensors默认按设备识别顺序输出,要自定义顺序的话,得先ignore所有默认设备,然后按你想要的顺序逐个配置:
# 先忽略所有默认识别的设备,这样就不会显示默认的乱序设备了 ignore * # 按你想要的顺序依次配置每个设备 # 第一个:CPU传感器 chip "CPU的原始ID" name "CPU 区域" label temp1 "核心1温度" label temp2 "核心2温度" # 第二个:主板传感器 chip "主板的原始ID" name "主板监控" label temp3 "主板南桥温度" # 第三个到第八个:6块SCSI磁盘,按托架顺序来 chip "磁盘托架1的ID" name "磁盘托架1" label temp1 "磁盘温度" chip "磁盘托架2的ID" name "磁盘托架2" label temp1 "磁盘温度" # 最后:10G网卡 chip "10G网卡的ID" name "10G 网络扩展卡" label temp1 "网卡核心温度"
这样sensors就会严格按你写的顺序输出设备了。
3. 处理SCSI磁盘的注意点
如果你的SCSI磁盘温度不是lm_sensors直接识别的,可能需要先装hddtemp,然后在配置里让sensors加载hddtemp的传感器。装完hddtemp后,运行sensors -u就能看到磁盘的ID了,然后按上面的方法配置就行。
常见踩坑点
- 原始ID必须完全匹配:不能自己瞎编ID,必须和
sensors -u输出的一模一样,包括大小写、连字符这些细节。 - 不要同时改sensors3.conf和sensors.d的文件:两个文件的配置会叠加,容易冲突,建议只保留sensors.d里的自定义配置。
- hddtemp的问题:有些磁盘的温度需要hddtemp支持,Ubuntu 24.04里可以用
apt install hddtemp安装,然后启动服务systemctl start hddtemp,再用sensors -u看能不能识别到磁盘。
备注:内容来源于stack exchange,提问作者Journeyman Geek
相关产品推荐
相关产品推荐

