iotop - Cheatsheet de Monitor de I/O de Disco Por-Processo
iotop é um utilitário tipo-top que exibe uso de I/O de disco por processo em tempo real. Enquanto iostat diz que um device está ocupado, iotop diz qual processo está fazendo a leitura e escrita, a que taxa e com que prioridade de I/O. É a forma mais rápida de responder “o que está batendo no disco agora?” Lê dados de accounting do kernel e por isso precisa de root para fazer isso.
Instalação
| Platform | Command |
|---|
| Debian/Ubuntu | sudo apt install iotop |
| Fedora/RHEL | sudo dnf install iotop |
| Arch Linux | sudo pacman -S iotop |
| Requisito | Kernel com CONFIG_TASK_IO_ACCOUNTING (padrão) |
| Verificar | sudo iotop --version |
Executando
| Command | Descrição |
|---|
sudo iotop | Visualização interativa ao vivo de todos os processos |
sudo iotop -o | Apenas mostre processos realmente fazendo I/O |
sudo iotop -a | Mostre I/O acumulado (totais, não taxas) |
sudo iotop -P | Mostre processos (não threads individuais) |
sudo iotop -u USER | Filtre por usuário |
sudo iotop -d 5 | Atualize a cada 5 segundos |
O Display
| Column | Significado |
|---|
TID/PID | ID de thread ou processo |
PRIO | Classe de prioridade de agendamento de I/O |
USER | Proprietário do processo |
DISK READ | Taxa de leitura atual |
DISK WRITE | Taxa de escrita atual |
SWAPIN | % de tempo gasto fazendo swap in |
IO | % de tempo aguardando I/O |
COMMAND | Linha de comando do processo |
Duas linhas de header mostram Total e Actual disco read/write para todo o sistema.
Teclas Interativas
| Key | Ação |
|---|
o | Alterne --only (oculte processos inativos) |
a | Alterne acumulado vs taxa |
p | Alterne processos/threads |
r | Inverta a ordem de classificação |
← / → | Mude a coluna de classificação |
q | Saia |
Modo Batch / Logging
Para scripts e captura de evidência, execute não-interativamente.
# Log os top processos de I/O a cada 2s, 10 iterações, apenas os ativos
sudo iotop -boPqqq -d 2 -n 10 > iotop.log
| Flag | Efeito |
|---|
-b | Modo batch (não-interativo) |
-o | Apenas processos ativos |
-n N | Número de iterações |
-q | Silencioso (repita para suprimir headers) |
-k | Kilobytes |
Fluxos de Trabalho Comuns
# "O que está escrevendo para disco agora?" — apenas ativos, processos não threads
sudo iotop -oP
# Apanhe um spike de I/O periódico ao longo do tempo
sudo iotop -boP -d 1 -n 60 > spikes.log
# Culpe os processos de um usuário pela carga de disco
sudo iotop -oP -u appuser
iotop mostra a PRIO (ionice) classe; você muda com ionice.
| ionice class | Significado |
|---|
ionice -c 1 | Prioridade de I/O em tempo real |
ionice -c 2 -n 0..7 | Best-effort (padrão), nível 0 = máxima |
ionice -c 3 | Idle — apenas I/O quando disco estiver livre |
# Desprioritize a I/O de disco de um job batch pesado
ionice -c 3 -p $(pgrep -n backup)
iotop vs Ferramentas Relacionadas
| Tool | Respostas |
|---|
| iotop | Qual processo está fazendo I/O de disco |
| iostat | Se o device está saturado |
| pidstat -d | I/O por-processo (scriptável, sysstat) |
| dstat/dool | Visualização combinada de sistema |
Fluxo de trabalho: iostat mostra o disco está ocupado → iotop mostra qual processo → ionice desprioritiza.
Recursos