Você pode usar o iotop . Isso mostrará o uso do disco em tempo real por processo. Assumindo que você está usando o CentOS / Fedora, você pode fazer isso.
$ sudo yum install iotop
Em seguida, basta invocar com iotop
.
Estou procurando a melhor maneira de determinar quanto cada um dos processos consumiu em termos de espaço em disco. Como eu vejo, há apenas uma opção na minha frente. Isso é buscar a write_bytes
de /proc/<pid>/io
output de todo o processo e resumi-los. Mas então eu vejo uma falta de correspondência em termos do total que eu ganho fazendo isso com o que df -h
me dá.
Você pode usar o iotop . Isso mostrará o uso do disco em tempo real por processo. Assumindo que você está usando o CentOS / Fedora, você pode fazer isso.
$ sudo yum install iotop
Em seguida, basta invocar com iotop
.
Eu usaria algo assim:
iotop -qqq -b -Paok -n 2 -d 30 | sort -n -k6 -r | head -n 20
Opções:
-qqq
: não imprime cabeçalhos e resumo
-b
: modo de lote
-P
: mostra apenas processos, nem todos os therads
-a
: I / O acumulado < br> -k
: imprimir resultados em kilobytes
-n 2
: número de execuções, pelo que entendi, deve ser > = 2, pois a primeira dura menos de 1 segundo
-d 30
: atraso entre execuções, ou seja, total executado neste caso, aproximadamente | sort -n -k6 -r
: numericamente, classifique pela 6ª coluna (total de gravações) e inverta a ordem em | head -n 20
: mostre apenas as primeiras 20 linhas
Nota : Mostra apenas quanto os processos escreveram, não o espaço físico total usado. Se um processo gravar continuamente o mesmo arquivo de 20 KB, uma vez por segundo, você terá 20 KB de uso de espaço, mas em 30 s, um total de 600 KB. Neste caso eu monitoraria os diretórios em que meus processos escrevem, com du
Tags kernel disk-usage proc linux-kernel