Picture of Roberto Sobrinho
Roberto Sobrinho

21/05/2024

Entendendo o Load Average: Guia Completo para DBAs

Olá pessoal, como “6 tão“? Hoje vamos falar a respeito de uma métrica que deixa muitos DBAs confusos. Quando alguém na conferência pergunta: “Ei DBA como está o Load do servidor?” Você sabe reponder esse questionamento com segurança?

Agora é a hora de não ter mais dúvidas! ##BóBó 🚀🚀🚀

A métrica “Load Average” no Linux é fundamental para avaliar o desempenho do sistema operacional. Ela dá uma visão geral sobre a carga ao longo do tempo, ajudando a identificar e resolver problemas de desempenho.

Por Exemplo:

load average: 10.72, 15.45, 20.60

Esses valores indicam que, nos últimos 1, 5 e 15 minutos, houve, em média, 10.72, 15.45 e 20.60 processos em execução ou esperando pela CPU.

Como verificar o Load Average no Linux

Existem várias maneiras de verificar o Load Average:

  • Comando ‘uptime’
$ uptime
10:20:14 up 10 days,  3:52,  2 users,  load average: 10.72, 15.45, 20.60

  • Comando ‘top’
$ top
top - 10:20:14 up 10 days,  3:52,  2 users,  load average: 10.72, 15.45, 20.60
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.1 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

Descobrindo quantas CPUs o servidor tem

Antes de interpretar os valores do Load Average, é importante saber quantas CPUs (ou núcleos) o seu servidor possui. Você pode fazer isso com o comando lscpu ou nproc:

  • Comando ‘lscpu’
$ lscpu |grep 'CPU(s)'
CPU(s):                31
On-line CPU(s) list:   0-30
NUMA node0 CPU(s):     0-30

  • Comando ‘nproc’
$ nproc
31

Interpretação dos valores de Load Average

Para interpretar corretamente esses valores, é essencial considerar o número de CPUs disponíveis no SO. No nosso exemplo, estamos considerando um servidor com 31 CPUs.

  • Um Load Average de 31.0 em um sistema com 31 CPUs indica que todas as CPUs estão totalmente ocupadas.
  • Se o Load Average for consistentemente abaixo de 31.0, isso sugere que o SO não está utilizando sua capacidade total.
  • Um Load Average superior a 31.0 indica que há mais processos esperando por CPU do que as CPUs disponíveis, o que pode ser um sinal de sobrecarga.

Por exemplo, um Load Average de 10.72, 15.45 e 20.60 em um sistema com 31 CPUs indica que, em média, o sistema está usando aproximadamente um terço de sua capacidade total de CPU ao longo dos últimos 15 minutos. Isso pode ser considerado um desempenho saudável, dependendo da carga de trabalho esperada.

Diagnóstico de problemas usando Load Average

Um alto Load Average pode ser causado por vários fatores:

  • Processos intensivos em CPU: Processos que consomem muitos recursos de CPU.
  • Processos aguardando por I/O (input/output): Processos que estão esperando por operações de leitura/escrita em disco.
  • Problemas de memória: Se o sistema está sem memória, ele pode começar a usar swap, o que aumenta a carga.

Ferramentas como htop, iotop, e vmstat podem ajudar a identificar processos específicos ou gargalos de I/O que contribuem para um alto Load Average.

Boas práticas para gerenciar e otimizar Load Average

  • Monitoramento contínuo: Use ferramentas como Nagios, Zabbix ou Prometheus para monitorar e alertar sobre valores anormais de Load Average.
  • Ajustes de configuração: Otimize a configuração do sistema para melhor balanceamento de carga.
  • Automação e alertas: Configure alertas automáticos para valores de Load Average que excedam os limites aceitaveis.

Analogia com uma Praça de Pedágio

    Você pode pensar no Load Average como uma praça de pedágio em uma rodovia movimentada, onde as cabines de pedágio são as CPUs e os carros que passam são os processos. Se houver muitos carros (processos) chegando às cabines ao mesmo tempo e não houver cabines suficientes para atendê-los, haverá congestionamento (alta carga). Se houver muitas cabines vazias (CPU subutilizada), isso significa que não há tráfego suficiente para justificar todas as cabines em operação.

    Conclusão

    Entender e monitorar o Load Average é essencial para manter a saúde e o desempenho do sistema Linux. Uma análise precisa e proativa pode prevenir problemas graves e garantir que os recursos do sistema sejam utilizados de maneira eficiente.

    Com o conhecimento adquirido aqui, você está pronto para responder com confiança às perguntas sobre Load Average e surpreender todos os “Engenheiros de Obra Pronta” que vivem aparecendo nesses momentos de crise!

    🚀🚀🚀👋 #OGuinaNaoTinhaDo! 👋🚀🚀🚀

    Compartilhe

    Facebook
    Twitter
    LinkedIn
    WhatsApp
    Email
    Print

    Pesquisar

    Roberto Sobrinho

    Sou Roberto Fernandes Sobrinho, também conhecido como Sobrinho DBA , pós graduado em “Architecture and Database Administration”, entusiasta, dedicado e com 20 anos de experiência com Oracle Database e suas diversas distribuições e variações.

    Oracle ACE Associate

    2025

    Specialist

    Exadata Database Machine X9M

    Professional

    Oracle Database Administration

    Professional

    Oracle Database 19c: RAC, ASM, & Grid Infra Administrator

    Professional

    Oracle Autonomous Database Cloud

    Professional

    Oracle Cloud Database Migration and Integration

    Professional

    Oracle Database PL/SQL Developer

    Associate

    Oracle Cloud Infrastructure Architect

    Associate

    Oracle Cloud Infrastructure Foundations

    Categorias

    Categorias

    Tags

    Entendendo o Load Average: Guia Completo para DBAs