Quando um servidor Linux começa a apresentar lentidão, identificar rapidamente a causa do problema é essencial. Em ambientes modernos que utilizam VPS, servidor dedicado ou cloud, a lentidão pode estar relacionada a CPU, memória, disco ou até limitações do hypervisor.
Uma das formas mais rápidas de diagnosticar esse tipo de situação é usar vmstat para achar gargalo no sistema. Essa ferramenta nativa do Linux permite visualizar em tempo real como os recursos do servidor estão sendo utilizados.
Neste guia prático você aprenderá como usar vmstat para achar gargalo em servidores Linux e interpretar corretamente cada métrica exibida.
O vmstat traz apenas um dos indicadores utilizados para medir a saúde de um sistema Linux. Para entender todos os fatores que impactam o desempenho de um servidor, veja também nosso guia completo sobre performance de servidores Linux
A ferramenta vmstat permite identificar rapidamente se a carga do sistema está relacionada a CPU, espera por I/O ou pressão de memória. Muitas vezes, esses gargalos aparecem inicialmente como aumento do load average no servidor. Para entender melhor como interpretar essa métrica, veja também o guia sobre como interpretar corretamente o load average no Linux.
O que é vmstat no Linux
O vmstat (Virtual Memory Statistics) é um utilitário padrão do Linux que mostra estatísticas relacionadas a:
- memória
- swap
- CPU
- processos
- I/O de disco
Para administradores de sistemas, usar vmstat para achar gargalo é uma das primeiras etapas no diagnóstico de performance, pois ele oferece uma visão geral do comportamento do servidor.
Ao executar o comando, o sistema apresenta diversas métricas que ajudam a identificar rapidamente se existe pressão de memória, saturação de CPU ou problemas de disco.
Como executar o vmstat
O comando básico é extremamente simples:
vmstat 1
Isso faz com que o sistema atualize as estatísticas a cada segundo.
Exemplo de saída:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 240000 12000 900000 0 0 1 2 45 80 5 2 92 1 0
Ao usar vmstat para achar gargalo, é importante observar o comportamento das métricas ao longo de vários segundos e não apenas um único snapshot.
Como interpretar as colunas do vmstat
Para realmente usar vmstat para achar gargalo, é fundamental entender o significado de cada grupo de colunas.
Processos
r = processos aguardando CPU
b = processos bloqueados
Se o valor de r for muito alto, isso indica que muitos processos estão esperando CPU.
Regra prática:
Se r for maior que o número de CPUs, pode existir gargalo de processamento.
Já o valor b indica processos bloqueados, normalmente relacionados a operações de disco.
Métricas exibidas pelo vmstat ajudam a identificar rapidamente gargalos de CPU, pressão de memória ou latência de I/O. Entretanto, essas informações precisam ser analisadas dentro de um contexto mais amplo de diagnóstico de performance em servidores Linux em produção.
Memória
As principais colunas de memória são:
swpd = memória em swap
free = memória livre
buff = buffers
cache = cache de disco
É comum administradores se preocuparem ao ver pouca memória livre. Porém o Linux utiliza memória disponível para cache.
Ao usar vmstat para achar gargalo, o sinal real de problema é o uso de swap.
Swap
As colunas importantes são:
si = swap in
so = swap out
Se esses valores estiverem constantemente acima de zero, significa que o sistema está movendo dados entre RAM e swap.
Isso normalmente indica:
- falta de memória
- aplicações consumindo RAM excessivamente
- configuração inadequada de banco de dados
Em servidores VPS com pouca memória, essa situação é bastante comum.
I/O de disco
As colunas relacionadas a disco são:
bi = blocos lidos
bo = blocos escritos
Esses números indicam atividade de leitura e escrita.
Porém o indicador mais importante para descobrir gargalo de disco ao usar vmstat para achar gargalo é o campo wa (I/O wait).
CPU
As métricas da CPU são:
us = uso da CPU por aplicações
sy = uso da CPU pelo kernel
id = CPU ociosa
wa = tempo esperando disco
st = tempo roubado pelo hypervisor
Essas métricas mostram exatamente como o processador está sendo utilizado.
CPU user (us)
Mostra quanto da CPU está sendo utilizado por aplicações.
Se esse valor estiver muito alto, pode indicar:
- scripts PHP pesados
- consultas MySQL lentas
- processamento intensivo
CPU idle (id)
Indica quanto da CPU está livre.
Servidores saudáveis normalmente apresentam valores altos nessa métrica.
I/O Wait (wa)
Esse é um dos indicadores mais importantes ao usar vmstat para achar gargalo.
Se o valor wa estiver acima de 20%, normalmente significa que o sistema está aguardando respostas do disco.
Possíveis causas:
- storage lento
- RAID saturado
- banco de dados realizando muitas operações
- VPS com I/O compartilhado
Steal Time (st)
Esse campo é especialmente importante em ambientes virtualizados.
Se o valor st for alto, significa que o hypervisor está retirando tempo de CPU da máquina virtual.
Isso pode indicar:
- host sobrecarregado
- overselling de VPS
- infraestrutura cloud congestionada
Exemplos práticos de gargalos detectados com vmstat
Para administradores que precisam diagnosticar servidores rapidamente, usar vmstat para achar gargalo pode revelar diferentes cenários.
Gargalo de CPU
Exemplo:
r = 12
us = 90
id = 3
Isso indica que o servidor possui muitos processos aguardando CPU.
Ferramentas complementares:
top
htop
ps aux --sort=-%cpu
Gargalo de disco
Exemplo:
wa = 40
b = 5
Isso indica que processos estão bloqueados aguardando operações de disco.
Nesse caso, recomenda-se utilizar:
iostat
iotop
Falta de memória
Exemplo:
swpd = 2048
si = 200
so = 150
Esse comportamento mostra que o servidor está utilizando swap intensamente.
Soluções possíveis incluem:
- aumentar RAM
- otimizar banco de dados
- revisar serviços em execução
Problema de infraestrutura em VPS
Exemplo:
st = 12
Isso indica que o hypervisor está retirando CPU da máquina virtual.
Nesse cenário, o problema não está no servidor, mas na infraestrutura do provedor.
Estratégia profissional de diagnóstico
Administradores experientes costumam combinar várias ferramentas de análise.
Uma sequência comum é:
uptime
vmstat 1
top
iostat -x 1
free -m
Essa abordagem permite identificar rapidamente se o problema está relacionado a CPU, memória ou disco.
Ao integrar essas ferramentas, usar vmstat para achar gargalo se torna uma das técnicas mais rápidas para diagnosticar problemas de performance.
Conclusão
Saber usar vmstat para achar gargalo é uma habilidade essencial para qualquer administrador de sistemas Linux. Com apenas um comando é possível identificar rapidamente se a lentidão do servidor está relacionada a CPU, memória, disco ou limitações da infraestrutura virtualizada.
Em ambientes modernos que utilizam VPS, servidores dedicados ou cloud, essa ferramenta continua sendo uma das formas mais rápidas e eficientes de diagnosticar problemas de performance.
Quando combinada com ferramentas como top, iostat e iotop, ela permite encontrar gargalos em poucos minutos.
Ferramentas como vmstat são fundamentais para investigar problemas de desempenho, mas uma análise completa exige observar CPU, memória, disco e rede de forma integrada. Para aprofundar essa abordagem, recomendamos também o guia completo sobre como analisar performance de servidores Linux.
O vmstat deve ser usado junto com outras ferramentas para uma análise completa. Veja também:
FAQ
vmstat é um comando usado para exibir estatísticas de memória, CPU, processos e operações de disco em servidores Linux
O comando mais comum é:
vmstat 1
Ele atualiza as métricas do sistema a cada segundo.
Verifique o valor wa (I/O wait). Valores acima de 20% normalmente indicam problemas de disco.
Sim. Porém em ambientes virtualizados é importante observar o campo st (steal time).
Não. Ele fornece uma visão geral rápida, mas deve ser usado em conjunto com ferramentas como top, iostat e iotop.
Veja Mais:
I/O de disco servidor Linux: Como Resolver Gargalos
Load Average no Linux: Como Interpretar Corretamente
Performance de Servidores Linux: Guia Completo 2026
CPU 100% no Linux: O Que Verificar Primeiro no Servidor
Servidor Lento: Como Identificar o Gargalo
Como Achar Gargalo com Iostat: Guia Definitivo e Prático
Iowait Alto: Causas Reais e Soluções
Swap Alto com RAM Livre: Por Que Isso Acontece e como Resolver
Guia Completo de Monitoramento Linux com vmstat, iostat e sar
Tuning de sysctl para Produção: Guia Definitivo de Performance Linux
Como Ajustar limits.conf no Linux: Guia para Alta Performance
OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados
Memory Leak Linux: Como Detectar e Corrigir
No space left on device com espaço livre? Como resolver (Guia Completo)
Como identificar processo que consome CPU no Linux (Guia Completo)
Como Limitar CPU por Processo no Linux com cgroups (Guia Completo)
Upgrade de CPU ou Otimizar? Guia Completo
RAM Cheia no Linux: O Guia Definitivo para Resolver Travamentos em 2026
Buffers e Cache: Quando Deixam de Ajudar e Viram um Problema?
Out of Memory (OOM): Causas Reais, Diagnóstico e Como Resolver
Como evitar OOM Killer Linux em Produção: Guia Definitivo 2026
Gargalo no Linux: Como Identificar se o Problema é CPU ou RAM?
Disco Lento no Linux: Guia Completo para Identificar e Resolver
Latência de Disco no Linux Alta: Causas, Diagnóstico e Soluções

