Primeiramente precisamos entender que Load CPU e Utilização CPU são dois indicadores distintos que juntos auxiliam numa análise concreta do uso de CPU, vamos ao entendimento dos conceitos.
1 - Load CPU ou Load Average
É a carga de processamento, ou seja, número de processos em execução ou enfileirados para execução. A visão da carga é tida pelo valor do Load dividido pela quantidade de CPUs, caso esteja acima indica uma sobrecarga de processos e uma necessidade de mais CPU no host.
Se possuo 1 CPU e o Load esta em 0.1 indica que todos processos estão em execução e não estou tendo processos em espera na fila para processamento. Agora se possuo 1 CPU e Load 11.3 indica que estou tendo processos em espera na fila.
Abaixo uma imagem para melhor entendimento e abstração quando o Load esta abaixo da quantidade de CPUs e quando esta acima que no caso pensando em carros e num túnel teremos um engavetamento, leve em consideração 1 CPU:
1 2 3 |
Load Average 1: Último 1 minuto Load Average 5: Últimos 5 minutos Load Average 15: Últimos 15 minutos |
1 2 |
[root@borda ~]# uptime 23:09:15 up 38 days, 1:28, 2 users, load average: 0,00, 0,01, 0,10 |
In UNIX computing, the system load is a measure of the amount of computational work that a computer system performs. The load average represents the average system load over a period of time. It conventionally appears in the form of three numbers which represent the system load during the last one-, five-, and fifteen-minute periods.
2 - Utilização CPU
Utilização de CPU é o total de ciclos por segundo do processador em execução atual, ou seja, a porcentagem de tempo requerida do cpu para executar uma ou um conjunto de tarefas.
CPU time (or process time) is the amount of time for which a central processing unit (CPU) was used for processing instructions of a computer program or operating system, as opposed to, for example, waiting for input/output (I/O) operations or entering low-power (idle) mode. The CPU time is measured in clock ticks or seconds. Often, it is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.
The concept of CPU utilization used to be simple. Assume you have a single core processor fixed at a frequency of 2.0 GHz. CPU utilization in this scenario is the percentage of time the processor spends doing work (as opposed to being idle). If this 2.0 GHz processor does 1 billion cycles worth of work in a second, it is 50% utilized for that second. Fairly straightforward.
https://blogs.technet.microsoft.com/winserverperformance/2009/08/06/interpreting-cpu-utilization-for-performance-analysis/
3 - Cenários
Após entendimento do conceito dos dois indicadores podemos pensar em alguns cenários:
Cenário 1 - Alta porcentagem de utilização e load abaixo da quantidade de cpus: Um processo ou alguns processos requerendo muito tempo de cpu para execução das tarefas e o load com carga abaixo da quantidade de cpus. Num ambiente real podemos pensar em um servidor com 5 usuários conectados onde 1 usuário está executando uma tarefa de cópia de uma pasta com uma quantidade enorme de arquivos.
Cenário 2 – Load alto e baixa porcentagem de utilização: Load alto indica alta carga/número de processos em execução e processos enfileirados aguardando execução e baixa utilização do cpu para execução das tarefas. Podemos pensar num servidor com 5 usuários conectados onde 1 usuário clica 20 vezes para abrir o navegador e clica 20 vezes para abrir o Libreoffice Writer (pow isso tem muito em kkkkkk).
Cenário 3 – Load e porcentagem de utilização alta: Ai neste cenário podemos pensar nos 5 usuários clicando 20 vezes no navegador, assistindo vídeos, editando imagens, baidu executando, copiando os filmes, windows update, etc... 8)
Referências:
- https://www.zabbix.com/documentation/3.2/manual/config/items/itemtypes/zabbix_agent
- https://en.wikipedia.org/wiki/Load_(computing)
- https://en.wikipedia.org/wiki/CPU_time
- http://www.networkjack.info/blog/2008/12/19/load-average-versus-cpu-utilization-explained/
- https://bitismyth.wordpress.com/2012/03/13/cpu-usage-e-load-average/
- http://www.admin-magazine.com/Articles/Law-of-Averages-Load-Averaging
- https://blogs.technet.microsoft.com/winserverperformance/2009/08/06/interpreting-cpu-utilization-for-performance-analysis/