VMSTAT(1) - report virtual de memoria
De forma geral o vmstat está dividido em 6 seções. São elas: processos, memória, SWAP, discos , falhas e CPU.
# vmstat -w 3
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr ad0 ad6 in sy cs us sy id
0 0 0 47132 180560 55 1 27 0 131 25 0 0 114 661 867 1 7 93
Veremos as opções mais importantes:
procs:
- r - Número de processos prontos que aguardam a CPU.
- b - Número de processos que estão aguardando, por resposta de disco ou algo assim.
- v - Mostra os processos que são executáveis, mas estão trocados. Caso este número esteja aumentando em base regular sua memória não esta boa e deve ser trocada.
Caso o número de processos em espera esteja aumentando drasticamente, algo errado está acontecendo em seu servidor e significa um ponto de contenção. Se o número de processos que aguardam resposta estiver aumentando, verifique o acesso à disco e tente customizá-lo afim de que caches sejam criados otimizando este acesso.
Memória:
- avm - Número médio de páginas de memórias.
- frea- Número de páginas que estão disponíveis.
Página:
- flt - Número de falhas na memória pelo fato da informação necessária estar em disco e precisar ser buscada.
- re - Quantas páginas foram utilizadas novamente do cache.
- pi - Mostra quantas páginas estão se deslocando para a SWAP.
- po - Mostra quantas estão movendo da SWAP para a memória real.
Tanto o ti como to devem ser observados, pois seu servidor deve acessar SWAP de forma prevista ou poderá significar outro ponto de contenção.
Discos: Mostra seus discos de forma individual.
Falhas:
- in - Número de interrupções IRQ que o sistema recebeu nos últimos segundos.
- sy - Número de chamadas de sistemas nos últimos 5 segundos.
- cs - Número de interruptores de context. Vezes que a CPU deixou de fazer uma coisa para fazer outra.
CPU - Mostra quanto tempo a CPU gasta fazendo tarefas do:
- us - Usuário
- sy - Sistema
Como sugestão o administrador deve observar estas taxas ao colocar o servidor em produção e posteriormente pode ser comparado. Caso os acessos sejam incrementados, os recursos serão explorados de forma proporcional. Contudo as aplicações de terceiros utilizadas pela maioria dos administradores oferecem formas de ajustes.
Deve ser feito o tunning do seu kernel e de sua aplicação conforme sua demanda para evitar gastos desnecessários. Existem outros recursos como sockstat e netstat que podem auxiliar na demanda de link e ajuste de kernel do tipo mbufs. Esta é uma boa prática de administração de sistemas.
Abraço.
Até o próximo.