VMSTAT - Monitorando a memória e processos no Linux com exemplos

VMSTAT - Monitorando a memória e processos no Linux com exemplos

No mundo da administração do sistema Linux, o monitoramento e a compreensão do desempenho do seu sistema é crucial para garantir sua operação suave. Uma dessas ferramentas de monitoramento essencial é 'vmstat' - Um utilidade versátil da linha de comando que fornece estatísticas perspicazes sobre a memória, processos, IO e uso da CPU de um sistema Linux.

Neste artigo, nos aprofundaremos no uso e várias opções do comando vmstat, exploraremos exemplos práticos e aprendermos como interpretar a saída para diagnosticar problemas de desempenho em potencial.

O que é vmstat?

As estatísticas de memória virtual (VMSTAT) são um utilitário UNIX/Linux que coleta e exibe informações sobre a memória, CPU, processos e operações de IO do sistema. É uma ferramenta poderosa e fácil de usar para entender como seu sistema está utilizando seus recursos, identificando gargalos e diagnosticando problemas de desempenho.

Instalação

O VMSTAT vem pré-instalado na maioria das distribuições Linux. No entanto, se ainda não estiver instalado, você pode facilmente obtê -lo instalando o pacote 'sysstat':

  • Para sistemas baseados em Debian/Ubuntu:
    sudo apt-get install sysstat  
  • Para sistemas baseados em RHEL/CENTOS/FEDORA:
    sudo yum install sysstat  

Uso básico

A sintaxe básica do comando vmstat é a seguinte:

vmstat [options] [atraso] [contagem]
1vmstat [options] [atraso] [contagem]
  • Opções: Sinalizadores que modificam o comportamento do comando ou especificam o tipo de informação para exibir.
  • atraso: O intervalo de tempo (em segundos) entre as atualizações. O padrão é 1 segundo.
  • contar: O número de atualizações para exibir antes de sair. Por padrão, o VMSTAT continuará correndo indefinidamente.

Para exibir estatísticas básicas do sistema, basta executar o comando sem nenhuma opção:

vmstat  

Entendendo a saída VMSTAT

A saída do comando vmstat é exibida em um formato tabular, com cada linha representando um instantâneo do estado do sistema em um horário específico.

As colunas na saída são:

  1. Procs
    • r: O número de processos executáveis ​​(em execução ou espera pelo tempo de execução).
    • b: O número de processos em um estado de sono ininterrupto.
  2. Memória
    • SWPD: A quantidade de memória virtual usada (em kb).
    • livre: A quantidade de memória ociosa (em kb).
    • Buff: A quantidade de memória usada como buffers (em KB).
    • cache: A quantidade de memória usada como cache (em kb).
  3. Trocar
    • si: A quantidade de memória trocada do disco (em kb/s).
    • então: A quantidade de memória trocada para o disco (em KB/s).
  4. Io
    • bi: O número de blocos recebidos de um dispositivo de bloco (blocos/s).
    • bo: O número de blocos enviados para um dispositivo de bloco (blocos/s).
  5. Sistema
    • em: O número de interrupções por segundo, incluindo o relógio.
    • cs: O número de interruptores de contexto por segundo.
  6. CPU
    • nós: A porcentagem de tempo gasto executando o código não kernel (tempo do usuário).
    • sy: A porcentagem de tempo gasto em execução do código do kernel (tempo do sistema).
    • eu ia: A porcentagem de tempo gasto ocioso.
    • wa: A porcentagem de tempo gasto esperando por io.

Exemplos práticos

  • Exiba atualizações contínuas a cada 2 segundos:
    vmstat 2  
  • Monitore as estatísticas do sistema a cada 2 segundos para um total de 5 atualizações:
    vmstat 2 5  
  • Exibir apenas informações relacionadas à CPU:
    vmstat -c  
  • Exibir memória ativa e inativa:
    vmstat -a  

    Este comando relata a memória ativa e inativa no sistema, fornecendo mais informações sobre os padrões de uso de memória.

  • Exibir registro de data e hora:
    vmstat -t  

    Este comando adiciona um registro de data e hora a cada linha de saída, facilitando o rastreamento das mudanças ao longo do tempo.

  • Exibir apenas campos específicos:
    vmstat -s 

    Este comando exibe um relatório mais detalhado, campo a campo sobre o uso da memória virtual do sistema.

  • Exibir estatísticas de disco:
    vmstat -d 

    Este comando mostra estatísticas de atividade em disco, como leituras, gravações e operações de E/S.

  • Exibir saída em uma unidade específica:
    unidade vmstat -s 

    Substitua 'Unidade' pela unidade de medição desejada (K: Kilobytes, K: 1000 Bytes, M: Megabytes, M: 1000000 bytes). Por exemplo, o vmstat -s m exibirá saída em megabytes.

Interpretando a saída VMSTAT

Ao analisar a saída do VMSTAT, você pode identificar potenciais gargalos e problemas de desempenho do sistema. Aqui estão algumas diretrizes para ajudá -lo a interpretar os resultados:

  • Processos de alta execução (coluna 'R' Procs): Se o número de processos executáveis ​​for consistentemente alto, pode indicar que seu sistema está passando por alta carga de CPU e pode precisar otimizar seus aplicativos ou atualizar sua CPU.
  • Altos processos de sono ininterruptos (coluna 'B' B '): Um alto número de processos no sono ininterrupto pode indicar que seu sistema está experimentando gargalos de IO, o que pode ser causado pelo acesso lento do disco ou pela memória insuficiente.
  • Uso da memória (colunas de memória: swpd, grátis, buff, cache): Monitore o uso da memória para garantir que seu sistema tenha memória livre suficiente. Se o 'swpd' O valor é consistentemente alto, pode indicar que seu sistema está usando muito espaço de troca, o que pode degradar significativamente o desempenho. Considere otimizar seus aplicativos ou adicionar mais memória física.
  • Atividade de troca (colunas de troca: SI, então): A troca frequente pode levar a um desempenho ruim. Se os valores 'Si' e 'So' forem consistentemente altos, pode indicar que seu sistema está usando muito espaço de troca. Pode ser necessário otimizar seus aplicativos ou adicionar mais memória física.
  • Atividade de IO (colunas de IO: BI, BO): Alta atividade de IO pode causar gargalos de desempenho. Se o 'bi' e 'bo' Os valores são consistentemente altos, pode indicar que seu sistema está passando por uma atividade de disco pesado. Considere otimizar seus aplicativos, atualizar seu sistema de armazenamento ou distribuir a carga em vários discos.
  • Uso da CPU (colunas da CPU: EUA, SY, ID, WA): Monitore o uso da CPU para garantir que seu sistema não esteja sobrecarregado. Alto 'nós' e 'sy' Os valores indicam que a CPU está gastando uma quantidade significativa de tempo executando processos de usuário e sistema. Se esses valores forem consistentemente altos, considere otimizar seus aplicativos ou atualizar sua CPU. Altos valores de 'wa' indicam que a CPU está gastando muito tempo esperando por io, o que pode ser um sinal de gargalos io.

Conclusão

O VMSTAT é uma ferramenta de monitoramento poderosa e versátil para sistemas Linux, fornecendo informações valiosas sobre o uso de memória, processos, IO e CPU. Ao entender a saída do VMSTAT e usá -lo para diagnosticar problemas de desempenho em potencial, você pode otimizar seu sistema e garantir que ele funcione de maneira tranquila e eficiente.