获取服务器负载情况
$ uptime
02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88
- 02:34:03 当前时间
- up 2 days, 20:14 系统运行时间
- 1 user 正在登录用户数
- load average 负载指标,分别为:1分钟,5分钟,15分钟
平均负载含义
简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数
平均负载就是平均活跃进程数,实际上就是活跃进程数的指标衰减值
- 可运行状态:处于使用CPU或者正在等待CPU的进程,也就是ps中R状态的进程
- 不可中断状态:处于内核态关键流程中的进程,常见的就是等待硬件设备的I/O响应,也就是ps中D状态
负载数 = CPU个数
# 关于grep和wc的用法请查询它们的手册或者网络搜索
$ grep 'model name' /proc/cpuinfo | wc -l
2
CPU情况分类
- CPU密集型进程、使用大量的CPU会导致平均负载的升高,此时这2者是一致的
- I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使用率不一定很高
- 大量等待CPU的进程调度也会导致平均负载升高,但此时的CPU使用率也会比较高
案例
使用