需通过uptime、top、mpstat、/proc/stat和vmstat五种命令交叉验证:uptime看整体负载趋势,top按1键查逐核实时占用,mpstat计算%idle标准差,/proc/stat差值算单核负载率,vmstat分析r/wa/cs定位瓶颈。

如果您在麒麟OS中需要确认系统当前是否处于负载均衡运行状态,或需验证多核CPU资源分配是否均匀,需通过多种命令交叉比对负载分布与调度行为。以下是具体操作方法:
一、使用uptime命令提取基础负载均值
uptime命令以最简方式输出系统运行时长与三段式负载平均值,适用于快速判断整体负载趋势,但无法反映各核心间负载是否均衡。
1、打开终端(Ctrl + Alt + T)。
2、输入命令并回车:uptime。
3、观察输出中load average: X.XX, Y.YY, Z.ZZ部分,三个数值分别对应过去1分钟、5分钟、15分钟的平均进程队列长度。
4、将该数值与逻辑CPU总数对比:若15分钟负载值显著低于逻辑核心数,仅说明整体未过载,不能证明负载已均衡分布。
二、使用top命令切换为逐核视图观察实时负载分布
top命令默认显示整体CPU使用率,但按1键可激活逐核视图,直观呈现每个逻辑CPU的瞬时占用百分比,是判断负载是否在多核间均衡调度的关键手段。
1、在终端中执行:top。
2、在top运行界面中,按下键盘数字键1(非小键盘)。
3、界面顶部将刷新显示从%CPU0到%CPU(n-1)的逐核负载条,其中n为系统逻辑处理器总数。
4、观察各核心数值波动:若某核心持续高于90%而其余核心长期低于20%,表明存在单核瓶颈与负载不均衡;若各核心数值围绕均值上下小幅波动,则提示调度较为均衡。
三、使用mpstat命令输出数值化单核负载统计
mpstat属于sysstat套件,专用于生成细粒度的CPU统计报表,支持毫秒级采样与指定核心筛选,可量化评估各核心负载离散程度,适用于脚本分析与历史比对。
1、执行安装命令:sudo apt install sysstat -y(如未预装)。
2、运行命令采集数据:mpstat -P ALL 1 3,含义为对所有核心每1秒采样一次,共采集3次。
3、查看输出表格中各核心行的%idle列:数值越低表示该核心实时负载越高;计算所有核心%idle的标准差,若标准差>15%,则表明负载分布严重不均。
4、若仅需聚焦第0号核心,可运行:mpstat -P 0 1 1获取单行精简结果。
四、解析/proc/stat文件计算任意时段单核负载率
/proc/stat是Linux内核暴露的底层统计接口,其中cpuN行记录了自系统启动以来各状态时间片总和,通过两次读取差值可计算任意时段的单核负载率,精度最高且无额外进程开销,适用于高精度诊断场景。
1、执行首次读取并记录时间戳:cat /proc/stat | grep '^cpu[0-9]' > /tmp/cpu_stat_1。
2、等待2秒后执行二次读取:sleep 2 && cat /proc/stat | grep '^cpu[0-9]' > /tmp/cpu_stat_2。
3、使用脚本比对两文件中各cpuN行的数值差,按公式(user+system+nice+irq+softirq) / (user+system+nice+irq+softirq+idle+iowait)计算各核心负载率。
4、若某核心负载率与其他核心偏差超过40个百分点,即判定该核心存在调度失衡现象。
五、使用vmstat命令识别导致负载不均衡的底层瓶颈类型
vmstat提供每秒采样的系统级统计快照,能拆解load average背后的资源等待成因,区分CPU不足、IO阻塞或上下文切换异常等不同故障模式,从而定位负载不均衡的根本诱因。
1、在终端中运行:vmstat 1 5(每秒输出1次,共5次)。
2、关注r列(运行/就绪进程数):若该值长期大于逻辑CPU核心数,说明CPU调度队列积压,可能触发内核调度器强制集中调度至少数核心。
3、检查wa列(IO等待百分比):若wa > 30%,表明磁盘IO成为主要瓶颈,IO密集型进程可能被集中调度至特定核心以减少缓存失效。
4、观察cs列(上下文切换次数):若其值远高于bi/bo(块读写)或网络包速率,提示可能存在频繁线程争用,导致调度器难以维持跨核负载平衡。











