Publicada em:

PSI no Linux: a métrica que mostra quando seu servidor realmente está sofrendo

Entenda como o Linux mede a pressão real de CPU, memória e disco — e por que o PSI é muito mais útil do que apenas olhar uso de CPU ou RAM.

Authors
  • avatar
    Name
    Gabriel Novaes

Introdução

Muita gente monitora apenas:

  • CPU %
  • uso de RAM
  • load average

Mas essas métricas nem sempre mostram quando o sistema está realmente “engasgando”.

Foi justamente para resolver isso que o Linux criou o PSI (Pressure Stall Information).

O PSI é uma das métricas mais úteis para identificar:

  • contenção de CPU
  • falta de memória
  • gargalos de disco
  • lentidão real percebida pelas aplicações

O que é PSI?

PSI significa:

Pressure Stall Information

Ele mede quanto tempo os processos ficaram parados esperando recursos do sistema.

Ou seja:

  • não mede apenas uso
  • mede sofrimento real do workload

Isso é extremamente importante.

Por exemplo, você pode ter:

  • CPU em 40%, mas processos travando esperando I/O
  • RAM ainda disponível, mas aplicações sofrendo reclaim de memória

O PSI consegue mostrar isso.

Tipos de PSI

O Linux possui 3 categorias principais:

CPU PSI

Mostra tempo em que processos ficaram esperando CPU.

Exemplos:

  • muitos workers
  • filas grandes
  • excesso de concorrência

Sintomas

  • aumento de latência
  • respostas lentas
  • fila de jobs crescendo

Memory PSI

Mostra pressão de memória.

Acontece quando:

  • falta RAM
  • kernel precisa fazer reclaim
  • swap começa a ser usada agressivamente

Sintomas

  • travamentos aleatórios
  • OOM Killer
  • aplicações lentas mesmo com CPU baixa

IO PSI

Mostra espera por disco.

Muito útil para detectar:

  • SSD saturado
  • banco lento
  • excesso de logs
  • backups impactando produção

Sintomas

  • APIs lentas
  • filas acumulando
  • load alto com CPU baixa

PSI vs uso de CPU tradicional

CPU tradicional mostra:

  • “quanto da CPU está sendo usada”

PSI mostra:

  • “quanto os processos sofreram esperando CPU”

Isso muda completamente o diagnóstico.

Exemplo prático

Imagine:

  • CPU: 50%
  • Load average: alto
  • IO PSI: 30%

Nesse caso o problema provavelmente NÃO é CPU.

O servidor está:

  • esperando disco
  • travando em I/O
  • acumulando processos em fila

Sem PSI, muita gente aumentaria CPU à toa.

Como visualizar PSI

No Linux moderno:

Comandos

Exemplo de saída

some avg10=2.15 avg60=1.20 avg300=0.80 total=1234567 full avg10=0.20 avg60=0.10 avg300=0.05 total=12345

O que significa “some” e “full”?

some

Pelo menos um processo ficou esperando recurso.

full

Todos os processos ficaram bloqueados ao mesmo tempo.

“full” normalmente indica gargalo mais sério.

Valores considerados saudáveis

CPU PSI

  • 0–5% → excelente
  • 5–15% → atenção
  • 20%+ → contenção relevante

Memory PSI

Idealmente:

  • próximo de 0%

Se subir constantemente:

  • falta RAM
  • swap excessiva
  • reclaim agressivo

IO PSI

  • <5% → saudável
  • 5–20% → observar
  • 20%+ → disco pode estar gargalando

PSI no Grafana

Hoje vários dashboards modernos do:

  • Node Exporter
  • Grafana
  • Netdata

já exibem PSI.

É comum aparecer algo como:

  • CPU Pressure
  • Memory Pressure
  • IO Pressure

Essa é uma das métricas mais valiosas para ambientes:

  • Docker
  • Kubernetes
  • VPS
  • bancos de dados
  • filas
  • workers Laravel Horizon
  • aplicações Node.js

PSI ajuda a evitar diagnósticos errados

Sem PSI:

  • CPU sobe → “precisa de mais vCPU”

Com PSI:

  • talvez o problema seja disco
  • ou swap
  • ou concorrência
  • ou lock interno

Isso evita:

  • scaling desnecessário
  • custos maiores
  • troubleshooting errado

Conclusão

PSI é uma das melhores métricas modernas do Linux.

Ela mostra:

  • não apenas uso
  • mas impacto real no sistema

Se você administra:

  • servidores
  • containers
  • workloads em produção

Vale muito a pena acompanhar:

  • CPU PSI
  • Memory PSI
  • IO PSI

Porque às vezes o servidor parece saudável… mas o PSI já está mostrando que ele começou a sofrer.