Entenda as médias de carga Linux e monitore o desempenho do Linux

Entenda as médias de carga Linux e monitore o desempenho do Linux

Neste artigo, explicaremos uma das tarefas críticas de administração do sistema Linux - Monitoramento de desempenho em relação à carga do sistema/CPU e médias de carga.

Antes de avançarmos mais, vamos entender essas duas frases importantes em todos os sistemas do tipo Unix:

  • Carga do sistema/carga de CPU - é uma medição da CPU sobre ou subutilização em um sistema Linux; O número de processos que estão sendo executados pela CPU ou no estado de espera.
  • Carga média - é a carga média do sistema calculada em um determinado período de tempo de 1, 5 e 15 minutos.

No Linux, acredita-se tecnicamente uma média de carga em uma média de processos na fila de execução (kernel) marcada como execução ou ininterrupta.

Observe que:

  • Todos, se não a maioria dos sistemas alimentados por linux ou outros sistemas semelhantes a Unix, mostrarão os valores médios de carga em algum lugar para um usuário.
  • Um sistema Linux Idle Idle pode ter uma média de carga de zero, excluindo o processo ocioso.
  • Quase todos os sistemas do tipo Unix contam apenas processos nos estados de corrida ou espera. Mas esse não é o caso do Linux, inclui processos em estados ininterruptos de sono; Aqueles que esperam por outros recursos do sistema, como E/S de disco etc.

Como monitorar o sistema de carga Linux Média

Existem inúmeras maneiras de monitorar a média de carga do sistema, incluindo tempo de atividade, que mostra quanto tempo o sistema está em execução, número de usuários, juntamente com as médias de carga:

$ uptime 07:13:53 Up 8 dias, 19 min, 1 Usuário, Carregar Média: 1.98, 2.15, 2.21 

Os números são lidos da esquerda para a direita, e a saída acima significa que:

  • Carregar média no último 1 minuto é 1.98
  • Carregar média no último 5 Minutos é 2.15
  • Carregar média no último 15 Minutos é 2.21

Médias de carga alta implicam que um sistema está sobrecarregado; Muitos processos estão esperando o tempo da CPU.

Vamos descobrir isso na próxima seção em relação ao número de núcleos da CPU. Além disso, também podemos usar outras ferramentas bem conhecidas, como top e olhares que exibem um estado em tempo real de um sistema Linux em execução, além de muitas outras ferramentas:

Comando superior

$ top 
Exibir processos em execução do Linux
TOP - 12:51:42 UP 2:11, 1 Usuário, Carregar Média: 1.22, 1.12, 1.26 Tarefas: 243 Total, 1 Running, 242 Sleeping, 0 parou, 0 Zombie %CPU (s): 17.4 nós, 2.9 sy, 0.3 NI, 74.8 id, 4.6 wa, 0.0 oi, 0.0 si, 0.0 ST KIB MEM: 8069036 TOTAL, 388060 LIVRE, 4381184 Usado, 3299792 Buff/cache KIB Swap: 3906556 Total, 3901876 livre, 4680 Usado usado. 2807464 User PID User PID PR NI VIRT RES SHR S %CPU %MEM TIME+ COMANDO 6265 TECMINT 20 0 1244348 170680 83616 S 13.3 2.1 6:47.72 fone de ouvido 2301 Tecmint 9 -11 640332 13344 9932 S 6.7 0.2 2:18.96 Pulseaudio 2459 Tecmint 20 0 1707692 315628 62992 S 6.7 3.9 6:55.45 Cinnamon 2957 Tecmint 20 0 2644644 ​​1.035G 137968 s 6.7 13.5 50:11.13 Firefox 3208 Tecmint 20 0 507060 52136 33152 S 6.7 0.6 0:04.34 Gnome-terminal- 3272 Tecmint 20 0 1521380 391324 178348 S 6.7 4.8 6:21.01 Chrome 6220 Tecmint 20 0 1595392 106964 76836 S 6.7 1.3 3:31.94 fone de ouvido 1 raiz 20 0 120056 6204 3964 s 0.0 0.1 0:01.83 Systemd 2 Raiz 20 0 0 0 S 0.0 0.0 0:00.00 Kthreadd 3 Raiz 20 0 0 0 0 S 0.0 0.0 0:00.10 Ksoftirqd/0 5 Raiz 0 -20 0 0 0 S 0.0 0.0 0:00.00 KWorker/0: 0H… 

Ferramenta de olhares

$ GANCES 
Olhos - Ferramenta de monitoramento do sistema Linux
Tecmint (Linuxmint 18 64bit / Linux 4.4.0-21-Genérico) tempo de atividade: 2:16:06 CPU 16.4% bom: 0.1% Carregar 4 núcleos Mem 60.5% ativo: 4.90g Swap 0.1% Usuário: 10.2% IRQ: 0.0% 1 min: 1.20 Total: 7.70g inativo: 2.07g Total: 3.73G Sistema: 3.4% Iowait: 2.7% 5 min: 1.16 usado: 4.66g buffers: 242m Usado: 4.57m ocioso: 83.6% roubo: 0.0% 15 min: 1.24 grátis: 3.04G cache: 2.58G grátis: 3.72g Network RX/S TX/S Tarefas 253 (883 th), 1 corrida, 252 SLP, 0 OTH classificada automaticamente por CPU_PERCENT, visualização plana ENP1S0 525KB 31KB LO 2KB 2KB CPU% MEM% Virt Virt Pid Pid Ni STIMENTO+ IOR/S Iow/s comando wlp2s0 0b 0b 14.6 13.3 2.53G 1.03G 2957 Tecmint 0 s 51:49.10 0 40k/usr/lib/firefox/Firefox 7.4 2.2 1.16G 176M 6265 Tecmint 0 s 7:08.18 0 0/usr/lib/fone de ouvido/headset --type = renderizador--não-sandbox --priMordial-pipeken = 879b36514c6bedb183d3e4142774d1df-lan disco i/o r/s 4.9 3.9 1.63G 310m 2459 Tecmint 0 R 7:12.18 0 0 CINNAMON -REMPLARO RAM0 0 0 4.2 0.2 625m 13.0m 2301 Tecmint -11 s 2:29.72 0 0/USR/BIN/PULSEAUDIO--Start-Log-Target = Syslog Ram1 0 0 4.2 1.3 1.52G 105m 6220 Tecmint 0 s 3:42.64 0 0/usr/lib/fone de ouvido/fone de ouvido RAM10 0 0 2.9 0.8 409m 66.7m 6240 Tecmint 0 s 2:40.44 0 0/usr/lib/fone de ouvido/fone de ouvido --type = gpu-process--no-sandbox--suports-dual-gpus = false--gpu-driver-bug-workworks = 7,2 ram11 0 0 2.9 1.8 531m 142m 1690 Raiz 0 s 6:03.79 0 0/usr/lib/xorg/xorg: 0 -Audit 0 -auth/var/lib/mdm/: 0.Xauth -nolisten tcp vt8 ram12 0 0 2.6 0.3 79.3m 23.8m 9651 Tecmint 0 r 0:00.71 0 0/usr/bin/python3/usr/bin/olha ram13 0 0 1.6 4.8 1.45g 382m 3272 Tecmint 0 s 6:25.30 0 4K/OPT/Google/Chrome/Chrome… 

As médias de carga mostradas por essas ferramentas são lidas /proc/loadavg Arquivo, que você pode visualizar usando o comando CAT como abaixo:

$ cat /proc /loadavg 2.48 1.69 1.42 5/889 10570 

Para monitorar as médias de carga no formato gráfico, confira: Ttyload - mostra um gráfico de carga linux com código de cores no terminal

Em máquinas de mesa, existem ferramentas gráficas de interface de usuário que podemos usar para visualizar as médias de carga do sistema.

Entendendo a carga média do sistema em relação ao número de CPUs

Não podemos explicar a carga do sistema ou o desempenho do sistema sem esclarecer o impacto do número de núcleos da CPU no desempenho.

Multiprocessor vs multi-core

  • Multiprocessador - é onde dois ou mais CPUs físicos são integrados a um único sistema de computador.
  • Processador multi-core - é uma única CPU física que possui pelo menos dois ou mais núcleos separados (ou o que também podemos chamar de unidades de processamento) que funcionam em paralelo. Significando um núcleo duplo possui duas unidades de processamento, um quad-core possui 4 unidades de processamento e assim por diante.

Além disso, há também uma tecnologia de processador que foi introduzida pela primeira.

Sob hiper threading, um único núcleo físico da CPU aparece como duas CPUs lógicas núcleo para um sistema operacional (mas, na realidade, há um componente de hardware físico).

Observe que um único núcleo de CPU só pode realizar uma tarefa de cada vez, portanto, tecnologias como várias CPUs/processadores, CPUs multi-núcleo e hiper-thread foram trazidas à vida.

Com mais de uma CPU, vários programas podem ser executados simultaneamente. As CPUs Intel atuais usam uma combinação de múltiplos núcleos e tecnologia de hiper-threading.

Para encontrar o número de unidades de processamento disponíveis em um sistema, podemos usar os comandos NPROC ou LSCPU da seguinte forma:

$ nproc 4 ou LSCPU 

Outra maneira de encontrar o número de unidades de processamento usando o comando Grep, como mostrado.

$ grep 'nome do modelo' /proc /cpuinfo | wc -l 4 

Agora, para entender melhor a carga do sistema, levaremos algumas suposições. Digamos que tenhamos médias de carga abaixo:

23:16:49 UP 10:49, 5 Usuário, Carregar Média: 1.00, 0.40, 3.35 
Em um único sistema de núcleo, isso significaria:
  • A CPU foi totalmente (100%) utilizada em média; 1 Processos estava em execução na CPU (1.00) nos últimos 1 minuto.
  • A CPU ficou ociosa em 60%, em média; Nenhum processo estava esperando o tempo da CPU (0.40) Nos últimos 5 minutos.
  • A CPU foi sobrecarregada em 235%, em média; 2.35 processos estavam esperando o tempo da CPU (3.35) Nos últimos 15 minutos.
Em um sistema de núcleo duplo, isso significaria:
  • A única CPU estava 100% inativa, em média, uma CPU estava sendo usada; Nenhum processo estava esperando o tempo da CPU (1.00) nos últimos 1 minuto.
  • As CPUs ficaram ociosas em 160%, em média; Nenhum processo estava esperando o tempo da CPU. (0.40) Nos últimos 5 minutos.
  • As CPUs foram sobrecarregadas em 135%, em média; 1.35 processos estavam esperando o tempo da CPU. (3.35) Nos últimos 15 minutos.

Você pode gostar também:

  1. 20 Ferramentas da linha de comando para monitorar o desempenho do Linux - Parte 1
  2. 13 Ferramentas de monitoramento de desempenho do Linux - Parte 2
  3. Perf- Uma ferramenta de monitoramento e análise de desempenho para Linux
  4. NMON: Analisar e monitorar o desempenho do sistema Linux

Em conclusão, se você é um administrador do sistema, as médias de carga alta são reais para se preocupar. Quando estão altos, acima do número de núcleos da CPU, isso significa alta demanda pelas CPUs, e a baixa carga em média abaixo do número de núcleos da CPU nos diz que as CPUs são subutilizadas.