VMSTAT - Monitorando a memória e processos no Linux com exemplos
- 4437
- 1273
- Leroy Lebsack
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]1 | vmstat [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:
- 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.
- 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).
- 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).
- 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).
- Sistema
- em: O número de interrupções por segundo, incluindo o relógio.
- cs: O número de interruptores de contexto por segundo.
- 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.
- « Iostat - Monitorando a CPU e a E/S de disco no Linux com exemplos
- Como verificar se um arquivo não existe no Bash »