在银河麒麟系统中实时监控CPU核心负载需按场景选工具:top按1键切换逐核视图,系统监视器开启“按核心显示”看趋势,mpstat命令采样数值,/proc/stat解析原始数据计算精确负载率。

在银河麒麟操作系统中实时掌握每个CPU核心的瞬时负载,是定位性能瓶颈、判断是否存在单核过载或进程调度不均的关键操作。不同场景下需选用匹配的工具:日常巡检用top最便捷,图形化监控首选系统监视器,精确数值分析依赖mpstat,而调试级验证则需解析/proc/stat原始数据。
用top命令快速查看各核心实时负载
top是系统预装工具,无需安装,启动后按1键即可切换为逐核视图,适合5秒内完成初步判断。
1、打开终端,输入top并回车。
2、在top运行界面中,直接按下键盘数字键【1】(必须是主键盘区的1,小键盘无效)。
3、界面顶部立即刷新,显示%CPU0、%CPU1直至%CPU(n-1)的独立百分比条——n为逻辑CPU总数,该数值可通过lscpu | grep "CPU(s)"确认。若某核心持续高于95%,说明该核已逼近饱和,需结合下方进程列表按Shift+P排序定位PID。
通过系统监视器图形化观察CPU核心负载趋势
该方式适合桌面用户边操作边看曲线,尤其利于发现间歇性高负载或温度联动异常。
点击左下角【开始菜单】→搜索“系统监视器”并打开→顶部切换至“资源”选项卡。
在“处理器”模块中,每条彩色折线对应一个逻辑核心;横轴为时间,纵轴为实时占用率(%)。
若只看到一条粗线而非多条细线,说明当前未启用“按核心显示”:点击右上角齿轮图标→勾选“显示每个CPU核心”→确认后图表自动重绘。
用mpstat获取带时间戳的数值化单核负载
mpstat输出结构化表格,支持脚本解析与日志归档,适用于运维巡检或问题复现时的精准采样。
方法一:查看所有核心的3次采样(间隔1秒)
执行:mpstat -P ALL 1 3
方法二:仅获取CPU0当前瞬时值(单行精简输出)
执行:mpstat -P 0 1 1
注意:若提示command not found,先运行sudo apt install sysstat -y安装;安装后需重启终端或执行sudo systemctl enable sysstat启用数据收集服务,否则首次运行可能返回空值。
解析/proc/stat计算任意时段单核精确负载率
这是Linux内核提供的底层接口,无进程开销、精度最高,适合写监控脚本或做毫秒级对比分析。
第一步:记录初始状态(保存各cpuN行的4个关键字段:user、nice、system、idle)
cat /proc/stat | grep "^cpu[0-9]" > /tmp/cpu_start.log
第二步:等待1秒后采集第二次快照
sleep 1; cat /proc/stat | grep "^cpu[0-9]" > /tmp/cpu_end.log
第三步:用shell脚本计算CPU0负载率(示例):
awk 'NR==FNR{u1[$1]=$2;n1[$1]=$3;s1[$1]=$4;i1[$1]=$5;next}{u2[$1]=$2;n2[$1]=$3;s2[$1]=$4;i2[$1]=$5;print $1,100*(1-(i2[$1]-i1[$1])/(u2[$1]+n2[$1]+s2[$1]+i2[$1]-u1[$1]-n1[$1]-s1[$1]-i1[$1]))"%"}' /tmp/cpu_start.log /tmp/cpu_end.log | grep cpu0











