如何理解平均负载

如何理解平均负载
https://time.geekbang.org/column/article/69618
https://www.linuxblogs.cn/articles/linux-loadavg.html

一、平均负载
平均负载是指单位时间内,系统处于可运行状态或不可中断状态的平均进程数,也就是平均活跃进程数。
可运行状态的进程:所谓可运行状态的进程,是指正在使用CPU或者正在等待CPU的进程,也就是我们常用ps命令看到的处于R状态(Running或Runnable)的进程。
不可中断状态进程:是指正处于内核关键流程中的进程,并且这些进程是不能被打断的,比如最常见的等待硬件设备的IO响应,也就是我们常用ps命令看到的处于D状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。

二、平均负载为多少时合理

2.1 查看cpu个数
[root@host-39-108-217-12 ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel® Xeon® Platinum 8163 CPU @ 2.50GHz
Stepping: 4
CPU MHz: 2500.002
BogoMIPS: 5000.00
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 33792K
NUMA node0 CPU(s): 0

[root@host-39-108-217-12 ~]# cat /proc/cpuinfo | grep processor |wc -l
1

2.2 查看cpu负载(top或uptime)
[root@host-39-108-217-12 ~]# uptime
14:38:18 up 15 days, 23:42, 4 users, load average: 0.12, 0.17, 0.15

2.3 分析
如果 1 分钟、5 分钟、15 分钟的三个值基本相同,或者相差不大,那说明系统负载很平稳。
如果 1 分钟的值远小于 15 分钟的值,就说明系统最近 1 分钟的负载在减少,而过去 15 分钟内却有很大的负载。
如果 1 分钟的值远大于 15 分钟的值,就说明最近 1 分钟的负载在增加,这种增加有可能只是临时性的,也有可能还会持续增加下去,所以需要持续观察。一旦1分钟的平均负载超过了CPU的个数,就意味着系统正在发生过载的问题,这时就得分析并优化了。

三、平均负载与CPU使用率的关系
平均负载是指单位时间内处于可运行状态和不可中断状态的进程数。所以它不仅包括了正在使用CPU的进程,还包括等待CPU和等待IO的进程。
CPU使用率,是单位时间内CPU繁忙情况的统计,跟平均负载并不一定完全对应。

CPU密集型进程,使用大量CPU会导致平均负载升高,此时这两者是一致的。
IO密集型进程,等待IO也会导致平均负载升高,但CPU使用率不一定很高。
大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高

四、总结
stress 是一个 Linux 系统压力测试工具,我们用作异常进程模拟平均负载升高的场景。
sysstat 包含了常用的 Linux 性能工具,包括:iostat、pidstat、mpstat、sar 等,用来监控和分析系统的性能。
mpstat 是一个常用的多核CPU性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标。
pidstat 是一个常用的进程性能分析工具,用来实时查看进程的CPU、内存、IO 以及上下文切换等性能指标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值