可通过lm-sensors、/sys/class/hwmon、/sys/class/thermal、watch动态刷新及cputemp命令五种方式在银河麒麟OS中读取CPU温度,均适配V10各版本及飞腾、鲲鹏等国产CPU平台。

如果您在银河麒麟操作系统中需要实时掌握CPU运行温度以评估散热状态或排查过热异常,但未安装图形化监控工具或无法进入桌面环境,则可通过内核原生接口与命令行工具组合实现精准读取。以下是多种兼容麒麟OS V10各版本(含SP3交易增强版、桌面版)并适配飞腾、鲲鹏、海光、兆芯等国产CPU平台的有效方法:
一、使用 lm-sensors 工具检测温度
lm-sensors 是一套成熟的 Linux 硬件监控套件,能自动识别主板及 CPU 内置传感器,并提供结构清晰、带阈值标识的温度输出,适用于大多数麒麟OS桌面与服务器环境,尤其适合需同时监控电压、风扇转速等多维参数的场景。
1、打开终端,以 root 权限执行安装命令。对于基于 Debian/Ubuntu 的麒麟OS分支(如 V10 桌面版),运行:sudo apt-get install lm-sensors
2、对于基于 CentOS/RHEL 衍生的麒麟OS服务器版(如 V10 SP3 交易增强版),运行:sudo yum install lm_sensors
3、完成安装后,执行传感器自动探测:sudo sensors-detect
4、按提示连续敲击回车接受默认选项,直至出现 “To load everything, add the lines above to /etc/modules” 提示;随后执行:sudo modprobe coretemp
5、最后运行以下命令查看实时温度:sensors
二、直接读取 /sys/class/hwmon 接口文件
/sys/class/hwmon 是 Linux 内核标准硬件监控接口,无需额外安装软件,所有麒麟OS内核(≥4.19)均原生支持,特别适合最小化部署、安全加固或无网络环境下的只读监控,数据来源直接、延迟最低。
1、列出全部硬件监控设备目录:ls /sys/class/hwmon/
2、逐个检查各 hwmon 目录下的 name 文件以识别对应芯片:cat /sys/class/hwmon/hwmon0/name
3、定位到含 temperature 字样的设备(如 coretemp、k10temp、ft2000_temp 等),读取其 temp*_input 文件:cat /sys/class/hwmon/hwmon0/temp1_input
4、注意:该值单位为毫摄氏度(m°C),例如输出 42500 表示 42.5°C。
三、通过 /sys/class/thermal 子系统获取温度
thermal 子系统专为温度调节与热策略设计,结构清晰、命名语义明确,尤其适配飞腾、鲲鹏等国产CPU内置 thermal_zone,是麒麟OS V10 SP3 中推荐使用的原生方式,无需加载额外模块,稳定性高。
1、列出所有热区:ls /sys/class/thermal/
2、常见热区包括 thermal_zone0(CPU封装)、thermal_zone1(SoC裸片)、thermal_zone2(GPU)等;确认目标区域后,读取其温度文件:cat /sys/class/thermal/thermal_zone0/temp
3、注意:该值单位为毫摄氏度(m°C),例如输出 45000 表示 45.0°C。
四、使用 watch 实现动态刷新监控
watch 命令可周期性执行指定命令并全屏刷新输出,适用于需持续观察温度变化趋势的运维场景,避免重复手动输入,提升响应效率,且不依赖图形界面。
1、对 thermal_zone0 温度每2秒刷新一次:watch -n 2 'cat /sys/class/thermal/thermal_zone0/temp | awk '{printf "%.1f°C\n", $1/1000}''
2、若需同时显示多个热区,可构造复合命令:watch -n 2 'for z in /sys/class/thermal/thermal_zone*; do [ -f "$z/type" ] && echo -n "$(cat $z/type): " && cat $z/temp 2>/dev/null | awk '{printf "%.1f°C\n", $1/1000}'; done'
五、特定机型调用 cputemp 命令
部分预装定制驱动的麒麟OS设备(如搭载飞腾FT-2000/4或鲲鹏920的政务终端)已集成专用 cputemp 命令,该命令经厂商深度适配,可绕过通用接口限制,直接读取CPU裸片传感器原始值,精度与响应速度更优。
1、检查是否预装该命令:which cputemp
2、若返回路径(如 /usr/bin/cputemp),直接执行:cputemp
3、部分版本支持详细模式:cputemp -v

















