Meu favorito é iotop . Ele mostrará as contagens de E / S por processo.
Outros comandos úteis para investigar porcos de I / O:
- vmstat: uma contagem alta na coluna wa é um sinal de máquinas estressadas
- iostat: relata estatísticas de CPU e estatísticas de entrada / saída para dispositivos, partições e NFS
Comece com vmstat; se houver menos de dois processos na espera de E / S (coluna wa), a máquina não ficará isenta de E / S e haverá uma grande chance de que seu problema de desempenho não esteja relacionado a E / S. Olhe para o swap in / out, altos números indicam que o seu sistema está sem memória.
Se o seu sistema for de fato E / S carente, o iostat pode lhe dar uma dica de qual dispositivo, partição ou sistema de arquivos de rede está estressado. Às vezes isso é suficiente para adivinhar o culpado.
Exemplo de saída para o vmstat:
operator@server:~$ sudo vmstat 10 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 408892 294200 4310552 0 0 0 6 3 2 1 2 97 0
0 0 0 409372 294200 4310552 0 0 0 54 2192 4880 1 3 97 0
0 0 0 409124 294200 4310496 0 0 0 18 2200 4895 0 3 96 0
0 0 0 409000 294200 4310496 0 0 0 26 2182 4884 0 2 97 0
0 0 0 409620 294200 4310496 0 0 0 18 2195 5120 0 2 97 0
Exemplo de saída para iotop:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
27327 be/4 www-data 0.00 B/s 3.67 K/s 0.00 % 0.00 % apache2 -k start
29714 be/4 postgres 0.00 B/s 0.00 B/s 0.00 % 0.00 % postgres: stats collector process
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
...