目录
- 概述
- CPU平均负载
- 查看平均负载
- 结束
概述
CPU 使用率
和CPU 平均使用率
。
CPU平均负载
单位时间内系统处于 [可运行状态] 和 [不可中断状态] 的平均进程数,就是平均活跃进程数,和CPU使用率并没有直接关系
- 可运行状态
- 正在使用CPU或者正等待CPU的进程
- 用 ps aux 命令看到的,处理 R 状态(Running 或 Runnable) 的进程
- 不可中断状态
- 正处于内核态关键流程中的进程,且流程不可打断
- 比如等待硬件设备的 I/O 响应,为了保证数据的一致性,进程向磁盘读写数据时,在得到磁盘响应前是不能被其他进程中断打断的
- ps aux 命令中 D 状态的进程 Uninterruptible Sleep
关键点: STAT 状态
PS中常见STAT状态 | 描述 |
---|---|
D | 无法中断的休眠状态 (通常 IO 的进程) |
R | 正在运行,或在队列中的进程 |
S | 处于休眠状态 |
T | 停止或被追踪 |
Z | 僵尸进程 |
< | 优先级高的进程 |
n | 优先级较低的进程 |
L | 有些页被锁进内存 |
s | 进程的领导者 (在它之下有子进程) |
l | 多进程的 (使用 CLONE_THREAD,类似 NPTL PTHREADS) |
+ | 位于后台的进程组 |
查看平均负载
命令: uptime
- 查看平均负载
- load average 后的3个数字分别代表 1分钟、5分钟、15分钟的CPU平均负载
- 查看服务器总的逻辑 cpu 个数 [cat /proc/cpuinfo | grep “processor” | wc -l]
- 如果平均负载为2,那在2个CPU核数时则刚好利用,如果是4个CPU核数,则有50%的空闲
- 分析
- 1、5、15分钟的数值相差不大, 说明负载很平稳
- 如果1分钟的值远小于15分钟的值,说明系统最近1分钟的负载在降低,而过去15分钟内却有很大的负载
- 如果1 分钟的值远大于15分钟的值,最近1分钟的负载在增加,平均负载接近或超过了CPU的个数,意味着系统正在发生过载的问题,持续时间长则说明出了问题,需要优化
- 在一个单核CPU系统平均负载为 1.8.0、0.90、5.48
- 在过去1分钟类,系统有80%的超载,而在15分钟内,有448%的超载,从整体趋势来看,系统的负载在降低
- CPU平均负载合理范围
- 常规推荐等于cpu核数即可,也看业务场景和历史趋势,判断变化方向
- load average 后的3个数字分别代表 1分钟、5分钟、15分钟的CPU平均负载
结束
linux操作系统CPU负载总结在此。