必须通过sensors命令或/sys/class/hwmon路径读取主板传感器数据:先安装lm-sensors、运行sensors-detect、加载对应驱动(如f71882fg),再执行sensors查看电压(V)、风扇(RPM)、温度(°C);若驱动未加载则需直接读取hwmon下in_input、fan_input、temp*_input文件并换算单位。

如果您在麒麟操作系统中需要掌握主板上电压、风扇转速、芯片组温度等原始传感器数据,以排查供电异常、识别散热瓶颈或验证硬件健康状态,则必须绕过图形界面,直接调用内核暴露的硬件监控接口。这些数据不经过用户空间服务聚合,响应快、无延迟,且在最小化安装或安全加固场景下仍可稳定获取。
使用 sensors 命令读取结构化主板传感器数据
这一步输出最易读,能同时显示电压(V)、风扇(RPM)、温度(°C)及对应告警阈值,但前提是已正确加载主板传感器驱动。
第一步:安装 lm-sensors 工具包。桌面版执行 sudo apt-get install lm-sensors -y;服务器版执行 sudo yum install lm_sensors -y。
第二步:运行自动探测脚本:sudo sensors-detect。全程按回车接受默认选项,当提示 “Probe I2C adapter?” 时输入 YES,后续所有询问均选 YES,直到出现 “To load everything, add the lines above to /etc/modules”。
第三步:加载主板芯片组驱动。常见飞腾平台需执行 sudo modprobe f71882fg 或 sudo modprobe it87;鲲鹏平台常见为 sudo modprobe w83627hf。若不确定型号,可先运行 lspci | grep -i bridge 查看南桥芯片。
第四步:执行 sensors。输出中以 “in0”, “in1” 开头的行为电压值(如 in0: +1.05 V),以 “fan1”, “fan2” 开头的行为风扇转速(如 fan1: 2450 RPM),以 “temp1”, “temp2” 开头的行为芯片组温度(如 temp1: +38.0°C)。【未加载对应驱动时,sensors 会显示 Adapter: Non-I2C bus 或完全空白】
直接读取 /sys/class/hwmon 获取原始主板传感器值
该方法零依赖、秒出结果,适合应急诊断或嵌入式环境,但需手动匹配 hwmon 目录与物理芯片。
方法一:快速定位主板传感器目录
执行 ls /sys/class/hwmon/,得到类似 hwmon0、hwmon1 的列表;对每个目录执行 cat /sys/class/hwmon/hwmon0/name 2>/dev/null,若返回 it87、f71882fg、nct6775 等字样,即为典型主板传感器芯片。
方法二:读取电压与风扇原始值
进入确认的 hwmon 目录,例如 cd /sys/class/hwmon/hwmon0;执行 ls in*_input fan*_input 2>/dev/null,找到 in0_input、fan1_input 等文件;分别读取:cat in0_input(单位为毫伏 mV,如 1050 表示 1.05V),cat fan1_input(单位为 RPM,部分 IT87 芯片需乘以 2 才是真实转速)。
方法三:解析温度标签对应关系
执行 ls temp*_label 2>/dev/null,若返回 temp1_label、temp2_label,则说明存在多点测温;读取对应标签:cat temp1_label(可能输出 “CPU VRM”、“Southbridge” 或 “PECI Agent”);再读取 cat temp1_input(单位为毫摄氏度 m°C,如 42300 表示 42.3°C)。
通过 watch 实现主板传感器动态刷新监控
当需要观察电压波动或风扇启停响应时,静态读取不够直观,watch 可实现每两秒自动重绘关键字段。
① 启动周期性监控:watch -n 2 'sensors | grep -E "in[0-9]|fan[0-9]|temp[0-9]"'。该命令会高亮显示所有电压、风扇、温度行,并每两秒刷新一次。
② 若 sensors 输出为空或缺失风扇项,改用 sysfs 路径直读:watch -n 2 'cat /sys/class/hwmon/hwmon0/in0_input /sys/class/hwmon/hwmon0/fan1_input /sys/class/hwmon/hwmon0/temp1_input 2>/dev/null | awk '\''{printf "%.2f V\n%.0f RPM\n%.1f°C\n", $1/1000, $2, $3/1000}'\''。
③ 按 Ctrl+C 即可退出监控模式。这一步操作起来很简单,直接把上面整条命令复制进终端回车就行。


















