基础篇|02.平均负载
Contents
什么是平均负载?
- 平均负载指得是单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和CPU使用率没有直接关系
- 可运行的状态进程: 指得是正在使用的CPU或正在等待的CPU进程
- 不可中断状态的进程: 指得是正处于内核态关键流程中的进程
- 那么,平均负载其实就是平均活跃进程数——单位时间内活跃的进程数
假设当平均负载为2时:系统有2个CPU,意味着所有CPU都刚好被占用;当系统有4个CPU,意味着CPU 50%为空闲
查看系统负载情况
1.uptime
当平均负载高于CPU个数70%(不固定),就应该排除负载高问题
|
|
- 14:22 //当前时间
- up 1 day, 4:17 //系统运行时间
- 2 users //正在登录用户
- load averages: 1.92 1.74 1.61//过去1min,5min,15min的平均负载
2.平均负载与CPU使用率
- 平均负载是指单位时间内,处于可运行状态和不可 中断状态的进程数。所以,它不仅包括了正在使用 CPU 的进程,还包括等待CPU 和 等待I/O的进程。
- CPU使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。
3.测试工具
- stress 是一个 Linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场 景。
- sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能。我们的案例会用 到这个包的两个命令 mpstat 和 pidstat。
- mpstat 是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标, 以及所有 CPU 的平均指标。
- pidstat 是一个常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及 上下文切换等性能指标。
4.场景分析
场景1:CPU密集型进程
|
|
场景2:I/O密集型进程
|
|
场景3:大量进程的场景
|
|
Author zhuyhan
LastMod 2020-05-28