Uma visão detalhada do comando vmstat, sua sintaxe básica e como usá-lo.
O que é?
Sintaxe do comando
Opções
delay - O delay entre a atualização em segundos. Se o delay não é especificado, um relatório é impresso com os valores médios desde a última inicialização.
count - Números de atualizações. Na ausência de count, quando o delay é definido, o padrão é infinito.
-a, --active
Exibe a memória ativa ou inativa.
-f, --forks
O -f exibe o número de foros desde a inicialização. Isso inclui as sytem calls, fork, vfork e é equivalente ao número total de tarefas criadas. Cada processos é representado por uma ou mais tarefas, dependendo do uso do thread. Esta tela não se repete.
-m, --slabs
Exibe o slabinfo.
-n, --one-header
Exibe o cabeçalho apenas uma vez e não periodicamente.
-s, --stats
Mostra uma tabela de vários contadores de eventos e estatísticas de memória. Esta tela não se repete.
-d, --disk
Relatório de estatísticas de disco.
-D, --disk-sum
Relata algumas estatísticas resumidas sobre a atividade do disco
-p, --partition device
Estatísticas detalhadas sobre as partições.
-s, --unit character
Altera a saida entre 1000 (k), 1024 (K), 1000000 (m), ou 1048576 (M) bytes. Observe que isso não altera os campos do swap (si/so) ou block (bi/bo).
-t, --timestamp
Adiciona timestamp para cada linha
-w, --wide
Modo de saída amplo (útil para sistema com maior quantidade de memória, onde o modo de saída padrão sofre de quebra de coluna indesejada). A saída é mais larga que 80 caracteres por linha.
-y, --no-first
Omite o primeiro relatório com estatísticas desde a inicialização do sistema.
-V, --version
Mostra informação sobre a versão e sai.
-h, --help
Mostra ajuda e sai.
Saída básica e como entendê-la:
- procs
- r: Número de processos em execução (run queue)
- b: Número de processos em espera (blocked)
- memory (são afetados pela opção --unit)
- swpd: Quantidade de memória virtual usada
- free: Memória livre.
- buff: Memória usada como buffer
- cache: Memória usada como cache
- inact: a quantidade de memória inativa. (opção -a)
- active: a quantidade de memória ativa. (opção -a)
- swap (são afetados pela opção --unit)
- si: Quantidade de memória trocada do disco para a RAM (/s).
- so: Quantidade de memória trocada da RAM para o disco (/s).
- io
- bi: Blocos recebidos do dispositivo de bloco (disco) (KiB/s)
- bo: Blocos enviados para o dispositivo de bloco. (KiB/s)
- system
- in: número de interrupções por segundo, incluindo o clock
- cs: número de alteração de contexto por segundo
- cpu (Essas são porcentagens do tempo total da CPU)
- us: tempo gasto executando código não-kernel. (Tempo do usuário, incluindo tempos bons)
- sy: tempo gasto executando o código do kernel. (tempo do sistema)
- id: tempo gasto ocioso. Antes do Linux 2.5.41, isso inclui o tempo io-wait.
- wa: tempo gasto esperando por I/O.
- st: tempo roubado de uma máquina virtual. Antes do Linux 2.6.11, desconhecido.
- gu: tempo gasto rodando codigo do KVM guest.
Descrição do campo para o modo disco
- Reads
- total: total de leituras completadas com sucesso
- merged: leituras agrupadas (resultando em um I/O)
- sectors: leituras de setor com sucesso
- ms: milissegundos gasto com leituras
- Writes
- total: total de escritas completadas com sucesso
- merged: escritas agrupadas (resultando em um I/O)
- sectors: leituras de setor com sucesso
- ms: milissegundos gasto com escrita
- IO
- cur: I/O em progresso
- s: segundos gastos com I/O
Descrição de campos para modo de partições de disco
- reads: numero total de leituras para essa partição
- read sectors: total de setor lidos para essa partição
- writes: numero total de escrita para essa partição
- requested writes: numero total de requisição de escrita para a partição
Descrição de campos para o modo SLAB
- cache: nome do cache
- num: numeros concorrentes de objetos ativos
- total: números totais de objetos disponíveis
- size: tamanho de cada objeto
- pages: numero de paginas com pelo menos um objeto ativo
Notas
Identificação de Gargalos
- CPU:
- Se us e sy estão altos, a CPU está sobrecarregada.
- Se wa está alto, há um gargalo de I/O.
- Memória:
- Se free está baixo e si/so estão altos, há falta de memória física, causando troca excessiva (swap).
- Disco:
- Se bi e bo estão altos, há muita atividade de disco, indicando um possível gargalo de I/O.