Pular para o conteúdo
,

iotop: O melhor amigo quando o disco grita (Edição 2026)

Pare de resetar servidor travado! Aprenda a usar o iotop para identificar gargalos de I/O em segundos. Esqueça o iostat, veja o processo culpado

Avatar de DK
DKTrabalha com Linux e Unix a mais de 23 anos e possui as certificações LPI 3, RHCE, AIX e VIO.

24 dez, 2025
5 min de leitura

Servidor lento, acesso remoto engasgando… um simples ls demora segundos pra rodar. Abrir um log? Esquece. Dá tempo de passar um café, tomar o café, e o cursor ainda tá lá, piscando, zombando da sua cara.

Você corre pro painel do servidor (ou pro rack, se for das antigas) e vê o LED do disco rígido aceso fixo, parecendo a luz de Power, só que vermelha e desesperada. Ou, se você está na nuvem, vê o gráfico de IO Wait da CPU batendo no teto.

E pensa: “Deu ruim. O que tá matando meu disco?”

Antigamente, a gente tinha que adivinhar. Hoje, a gente usa o iotop.

O Problema: Quem tá comendo o disco?

Em situações de I/O intenso, a pergunta de um milhão de dólares é: qual processo está fazendo isso?

Ferramentas como o iostat ou o vmstat (colunas bi e bo) até mostram que o disco está sendo massacrado, mas elas não te dizem quem é o culpado. Elas te dão o sintoma, não o nome do meliante.

É aí que entra o iotop. Ele é tipo um top, só que pra disco. Ele mostra em tempo real qual processo está lendo ou escrevendo, quanto está consumindo, e te dá o PID pra você tomar as providências cabíveis (leia-se: kill -9 ou otimizar a aplicação).

Screenshot From 2025-12-24 00-54-50

Instalação (sem compilar kernel, por favor)

Se você achou esse artigo antigo de 2009 falando pra compilar kernel e instalar Python na mão… esquece. A vida em 2026 é mais fácil.

Hoje em dia, o suporte a TaskStats já vem ativado no kernel de qualquer distribuição decente. Você só precisa instalar o pacote.

Debian / Ubuntu / Mint

sudo apt update
sudo apt install iotop

RHEL / CentOS / Fedora / AlmaLinux

sudo dnf install iotop

Arch Linux

sudo pacman -S iotop
Dica de ouro
Algumas distros modernas já trazem o iotop-c, que é uma versão reescrita em C, muito mais leve que a original em Python. Se o seu gerenciador de pacotes tiver essa opção, prefira ela!

Como usar (sem segredo)

O comando precisa de root, porque ele precisa ler estruturas do kernel que usuário comum não mexe.

sudo iotop

Mas o iotop puro mostra todos os processos, inclusive os que não estão fazendo nada de disco. Isso polui a tela. O “pulo do gato” é usar a flag -o (only), que mostra apenas quem está gerando tráfego de disco agora:

sudo iotop -o

Outras flags úteis

  • -o (Only): Mostra só quem está usando disco. Essencial.
  • -P (Processes): Por padrão, o iotop mostra threads. Se você tem um Java ou um MariaDB rodando, vai ver centenas de linhas. Use -P para agrupar tudo e ver só os processos principais.
  • -a (Accumulated): Essa é mágica. Em vez de mostrar a velocidade instantânea, ele mostra o acumulado de leitura/escrita desde que você abriu o programa. Ótimo pra pegar aquele script que roda rapidinho, some, e volta a cada 5 segundos.

Entendendo o que você vê

“Cadê as colunas SWAPIN e IO?”

Se você abriu o iotop e só viu as colunas de leitura e escrita, sem SWAPIN e IO… calma. Provavelmente você vai ver um aviso assim:

Screenshot From 2025-12-24 00-44-09

Isso acontece porque o kernel tem uma feature chamada task_delayacct que precisa estar ativa pra coletar essas métricas de delay. É ela que permite o kernel rastrear quanto tempo cada processo passa esperando por I/O.

A boa notícia? Dá pra ativar na hora, sem reiniciar nada. Só apertar Ctrl+T dentro do iotop que ele faz o toggle pra você. Pronto, as colunas mágicas aparecem.

Por que vem desativado?
Porque coletar essas métricas tem um custo (pequeno, mas existe). Algumas distros preferem deixar desligado por padrão e você ativa quando precisa. Faz sentido.

As colunas principais

Agora sim, com tudo ativado, você vai ver quatro colunas que importam:

DISK READ e DISK WRITE são as mais óbvias — mostram a velocidade de leitura e escrita em bytes por segundo. Aquele backup rodando? Vai aparecer com uns 200 MB/s de WRITE. Fácil de entender.

SWAPIN e IO são percentuais de tempo de espera. E é aqui que mora o diagnóstico de verdade:

  • SWAPIN alto? Seu problema não é disco, é RAM. O processo tá esperando memória voltar do swap.
  • IO alto? Bingo. O processo tá travado esperando o disco responder.

Se você vê um processo com IO perto de 99%, achou o culpado. Ele tá monopolizando o disco e travando todo o resto.

“Mas DK, eu uso SSD NVMe, isso ainda importa?”

Importa mais ainda.

Sim, SSDs são rápidos. Mas na nuvem (AWS, Azure, DigitalOcean), o disco tem limites de IOPS (operações por segundo). Se você estoura esse limite, a nuvem “corta” seu desempenho. O disco fica artificialmente lento.

O iotop te ajuda a ver se você está batendo nesse teto. Às vezes, um log de erro mal configurado escrevendo 1GB de texto inútil por minuto é o suficiente pra travar uma instância pequena, mesmo com SSD.

Resumo da Ópera

Não saia resetando servidor lento igual um desesperado. Instale o iotop, rode um sudo iotop -oP, ache o processo culpado e resolva o problema na raiz.

Seu servidor agradece, e seu café também (porque agora você vai tomar ele com calma, e não estressado).

Avatar de DK

Comentários

Deixe um comentário

Seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir para