麒麟v10系统获取cpu温度有五种方法:一、用lm-sensors工具安装探测后执行sensors;二、读取/sys/class/hwmon下temp_input文件(单位m°c);三、读取/sys/class/thermal/thermal_zone/temp(单位m°c);四、华为l410/w515专用cputemp命令;五、用watch动态刷新前述任一方式。

如果您在麒麟V10系统中需要获取CPU及其他关键部件的实时温度数据,以评估散热状态或排查异常升温现象,则可依托内核原生接口与轻量级命令行工具组合实现。以下是多种经验证兼容麒麟V10 SP2/SP3(含飞腾、鲲鹏、龙芯、兆芯平台)的可行方法:
一、使用 lm-sensors 工具检测温度
lm-sensors 是一套成熟的 Linux 硬件监控套件,能自动识别主板及 CPU 内置传感器,并提供结构化、可读性强的温度输出,适用于大多数麒麟V10桌面与服务器环境,尤其在x86及部分ARM平台表现稳定。
1、打开终端,以 root 权限执行安装命令。对于基于 Debian/Ubuntu 的麒麟V10桌面版,运行:sudo apt-get install lm-sensors
2、对于基于 CentOS/RHEL 衍生的麒麟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 内核标准硬件监控接口,无需额外安装软件,所有麒麟V10内核(≥4.19)均原生支持,特别适合最小化部署、安全加固或离线环境下的只读监控,且对飞腾FT-2000+/64、鲲鹏920等平台具备良好适配性。
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,是麒麟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
四、使用 cputemp 命令(华为L410/W515专用机型)
cputemp 是华为定制机型(如L410、W515)预置的轻量级温度查询工具,直接调用固件接口,响应快、无依赖,仅适用于搭载特定BMC或EC固件的华为信创终端,不需加载内核模块,适合一线运维快速核查。
1、确认当前设备是否为支持机型:dmidecode -s system-product-name | grep -i "L410\|W515"
2、若匹配成功,直接执行:cputemp
3、输出格式为纯数字加单位,例如:43.2°C
五、用 watch 实现动态刷新监控
watch 命令可周期性执行指定命令并全屏刷新输出,结合前述任一温度读取方式,即可构建类“仪表盘”式实时监控视图,适用于调试阶段持续观察温度变化趋势,无需图形界面支持。
1、对 sensors 命令进行每2秒刷新:watch -n 2 sensors
2、对 thermal_zone0 温度进行每1秒刷新(单位转换为°C):watch -n 1 'echo $(($(cat /sys/class/thermal/thermal_zone0/temp) / 1000))°C'
3、对 hwmon0/temp1_input 进行刷新并格式化显示:watch -n 2 'printf "%.1f°C\n" $(echo "scale=1; $(cat /sys/class/hwmon/hwmon0/temp1_input)/1000" | bc)'










