平均负载理解

一、平均负载概念

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程
数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。
可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用
ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。
不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,
比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态
(Uninterruptible Sleep,也称为 Disk Sleep)的进程。
比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是
不能被其他进程或者中断打断的,这个时候的进程就处于不可中断状态。如果此时的进程
被打断了,就容易出现磁盘数据与进程数据不一致的问题。
所以,不可中断状态实际上是系统对进程和硬件设备的一种保护机制。

以下为系统中显示 Linux load averages 的实例:

# 方法一:uptime
$ uptime
 16:48:24 up  4:11,  1 user,  load average: 25.25, 23.40, 23.46

# 方法二:top
top - 16:48:42 up  4:12,  1 user,  load average: 25.25, 23.14, 23.37

# 方法三:cat /proc/loadavg
$ cat /proc/loadavg 
25.72 23.19 23.35 42/3411 43603

如果平均值为 0.0,意味着系统处于空闲状态
如果 1min 平均值高于 5min 或 15min 平均值,则负载正在增加
如果 1min 平均值低于 5min 或 15min 平均值,则负载正在减少
如果它们高于系统 CPU 的数量,那么系统很可能会遇到性能问题(视情况而定)
平均负载最理想的情况是等于 CPU 个数。所以在评判平均负载时,首先你要知
道系统有几个 CPU,这可以通过 top 命令或者从文件 /proc/cpuinfo 中读取

二、平均负载与 CPU 使用率

平均负载是指单位时间内,处于可运行状态和不可
中断状态的进程数。所以,它不仅包括了正在使用 CPU 的进程,还包括等待 CPU 和等待
I/O 的进程。
而 CPU 使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。比
如:
CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的;
I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高;
大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高

三、查证问题用到的命令

1.先看负载情况

[root@localhost ft_mt]# uptime
 10:39:51 up 117 days,  1:13,  9 users,  load average: 0.00, 0.00, 0.00

2.查看CPU的负荷情况

# -P ALL 表示监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据
[root@localhost ft_mt]# mpstat -P ALL 5
Linux 2.6.32-642.13.1.el6.x86_64 (localhost.localdomain)        20210907_x86_64_        (32 CPU)

104044秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
104049秒  all    0.01    0.00    0.00    0.01    0.00    0.00    0.00    0.00   99.98
1040490    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040491    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040492    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040493    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040494    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040495    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040496    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040497    0.00    0.00    0.00    0.40    0.00    0.00    0.00    0.00   99.60
1040498    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
1040499    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404910    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404911    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404912    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404913    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404914    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404915    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404916    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404917    0.00    0.00    0.00    0.00    0.00    0.20    0.00    0.00   99.80
10404918    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404919    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404920    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404921    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404922    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404923    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404924    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404925    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404926    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404927    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404928    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404929    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404930    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10404931    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

3.查看那个进程导致CPU高

# 间隔 5 秒后输出一组数据
$ pidstat -u 5 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值