iotop pode ser o programa que você está procurando. É como o topo, mas para I / O.
Você precisa de um kernel 2.6.20 ou melhor e privilégios de root.
Então, que valor devemos ler para obter as operações de entrada por segundo por processo?
Eu tentei / proc / [pid] / io que retorna esses valores:
root@node:~# cat /proc/31597/io
rchar: 213260190
wchar: 462308212
syscr: 23275044
syscw: 47797624
read_bytes: 894867968
write_bytes: 27645691392
cancelled_write_bytes: 0
Da definição:
syscr, syscw - Contadores do número de operações de E / S (respectivamente: ler e gravar). Podemos usar então para calcular a quantidade média de dados passados em uma chamada de sistema.
Então, eu acho o último valor de syscw menos o valor anterior de syscw após um segundo deve me fornecer a contagem de operações de gravação que foi executada pelo processo 31597
No entanto, quando o processo gira em torno de 5MB / s de gravações (arquivos pequenos), recebo o valor de 6500 IOPS para escrever e isso não parece correto para mim.
Alguma idéia?
iotop pode ser o programa que você está procurando. É como o topo, mas para I / O.
Você precisa de um kernel 2.6.20 ou melhor e privilégios de root.