lm-sensors可精准获取各cpu核心温度:先安装并运行sensors-detect,再依平台加载coretemp(x86_64)、ft2000_temp(飞腾)或hisi_thermal(鲲鹏)驱动,最后执行sensors命令,输出中“core 0”等行即为对应核心实时温度(°c),package id 0为cpu封装总温。

您正在麒麟操作系统中排查设备过热问题,或需要确认散热策略是否生效,但当前没有图形化监控工具可用,必须通过终端命令快速获取CPU、主板、硬盘等关键部件的实时温度数据。所有方法均适配麒麟OS V10 SP1/SP3及鲲鹏920、飞腾D2000、海光HYGON等国产平台,无需图形界面支持。
用 lm-sensors 查看各CPU核心独立温度
该方法能识别 Intel/AMD/x86_64 及部分国产平台(飞腾D2000、鲲鹏920)的 per-core 温度传感器,输出明确标注 “Core 0”、“Core 1” 等字段,适合精准定位异常发热核心。
第一步:安装工具。apt源系统(如V10桌面版)执行 sudo apt update && sudo apt install lm-sensors;yum源系统(如V10 SP3服务器版)执行 sudo yum install lm_sensors。
第二步:运行探测脚本 sudo sensors-detect,全程按回车接受默认选项,当提示 “Probe I2C adapters?” 时输入 YES,其余保持回车直至结束。
第三步:加载对应驱动。x86_64平台执行 sudo modprobe coretemp;飞腾平台执行 sudo modprobe ft2000_temp;鲲鹏平台执行 sudo modprobe hisi_thermal。这一步漏掉,sensors 就永远不显示 CPU 温度。
第四步:执行 sensors,输出中所有以 “Core” 开头的行即为各物理/逻辑核心温度,单位为°C,例如 Core 0: +44.0°C。Package id 0 行代表 CPU 封装总温,括号内 high/crit 是告警与临界阈值。
直接读取 /sys/class/thermal 获取CPU封装温度
该方法无需安装任何软件,依赖内核原生 thermal 子系统,所有麒麟OS V10版本(含SP1/SP3)均支持,但返回值单位为毫摄氏度(m°C),需手动换算。
执行 ls /sys/class/thermal/ 列出全部热区目录,常见如 thermal_zone0、thermal_zone1 等。
运行 cat /sys/class/thermal/thermal_zone*/type 2>/dev/null 查看各热区类型,重点关注输出含 x86_pkg_temp、soc_thermal 或 cpu-thermal 的区域编号。
对目标热区(例如 thermal_zone0)执行 cat /sys/class/thermal/thermal_zone0/temp,若返回 47250,即表示当前温度为 47.25°C。注意:该值必须除以 1000 才是真实摄氏度,小数点后三位精度不可省略。
用 kylin-diagnose-cli 导出全硬件温度报告
这是麒麟官方认证的诊断工具,预装于 V10 SP3 交易增强版及 Kylin KOS 11.0,输出结构化 JSON 报告,可直接用于等保测评归档。
方法一:确认是否已预装——执行 which kylin-diagnose-cli,若返回路径(如 /usr/bin/kylin-diagnose-cli),说明可直接使用。
方法二:若未预装,执行 sudo apt install kylin-diagnose-tools 安装。注意:此包仅存在于麒麟OS官方源中,不可用第三方源替代。
方法三:执行 sudo kylin-diagnose-cli --module thermal --action dump,立即输出包含 CPU、主板、硬盘、风扇等全部热源的原始温度值(单位 m°C),并自动标注传感器位置与健康状态。
方法四:导出完整报告至当前目录:sudo kylin-diagnose-cli --export json > thermal_report_$(date +%Y%m%d_%H%M%S).json。这一步操作起来很简单,直接复制粘贴进终端回车就行。
读取 /sys/class/hwmon 获取毫摄氏度原始值
该方式绕过所有用户态工具,直连内核 hwmon 接口,适用于最小化部署、安全加固或离线环境,返回值为整数毫摄氏度,精度达 0.001°C。
① 列出全部监控设备:ls /sys/class/hwmon/
② 检查芯片型号:cat /sys/class/hwmon/hwmon0/name(若为 hwmon1 则替换编号),识别 coretemp、k10temp、ft2000_temp 等有效驱动名。
③ 定位温度输入文件:ls /sys/class/hwmon/hwmon0/temp*_input,通常 temp1_input 对应 CPU 封装,temp2_input 可能对应 SoC 其他热区。
④ 读取数值:cat /sys/class/hwmon/hwmon0/temp1_input,例如输出 52375 即为 52.375°C。注意:不同 hwmon 编号下同名文件物理含义可能不同,务必结合 name 和 label 文件交叉验证。











