linux性能分析优化之基础指标参数(2) - system load average | 系统平均负载

查看方式

cat /proc/loadavg

1
2
3
4
5
$cat /proc/loadavg

输出信息如下,前三项即为system load average

0.05 0.07 0.04 1/258 24761

uptime

1
2
3
4
5
$uptime

输出信息如下,末尾即为system load average

11:32:33 up 112 days, 20:39, 1 user, load average: 0.04, 0.06, 0.04

top

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$top

输出信息如下,第一行末尾即为system load avarage

top - 11:33:07 up 112 days, 20:40, 1 user, load average: 0.02, 0.05, 0.04
Tasks: 122 total, 1 running, 121 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.0%us, 3.4%sy, 0.0%ni, 94.4%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3922456k total, 3548376k used, 374080k free, 298360k buffers
Swap: 0k total, 0k used, 0k free, 2400700k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
.
.
.

含义

uptime的手册说明如下:

1
$man uptime

the system load averages for the past 1, 5, and 15 minutes.

System load averages is the average number of processes that are either in a runnable or uninterruptable state. A process in a runnable state is either using the CPU or waiting to use the CPU. A process in uninterruptable state is waiting for some I/O access, eg waiting for disk. The averages are taken over the three time intervals. Load averages are not normalized for the number of CPUs in a system, so a load average of 1 means a single CPU system is loaded all the time while on a 4 CPU system it means it was idle 75% of the time.

过去1,5,15分钟系统的平均负载。

系统平均负载是处于runnable或uninterruptable状态的平均进程数。
runnable状态是在使用CPU或者等待使用CPU。
uninterruptable状态时在等待I/O访问,比如等待磁盘。
系统平均负载要结合CPU核数来分析。
平均负载为2,在2个CPU的系统,表示2个CPU在所有时间都被占用。
平均负载为2,在4个CPU的系统,表示CPU有50%的空闲。
平均负载为2,在1个CPU的系统,表示有一半的进程竞争不到CPU。

其中,runnable状态和uninterruptable状态的含义可参考 linux性能分析优化之基础指标参数(1) - Process Status | 进程状态 | yoko blog

平均负载高于CPU数量80%时,应该关注。

由于平均负载还包含了等待CPU和等待IO的进程,所以不一定和CPU使用率一致。

  • 计算型,平均负载升高,CPU使用率升高
  • IO型,平均负载升高,CPU使用率不一定升高
  • 大量进程切换,平均负载升高,CPU使用率也可能升高

参考链接

本文完,作者yoko,尊重劳动人民成果,转载请注明原文出处: https://pengrl.com/p/24595/

0%