Instale o pacote iotop
. Esta é a versão do comando top
que analisa a quantidade de ES que cada processo está usando.
Às vezes, ouço o disco rígido funcionando fisicamente quando não é preciso usá-lo. Existe uma maneira de eu ver o que está ativando isso?
Instale o pacote iotop
. Esta é a versão do comando top
que analisa a quantidade de ES que cada processo está usando.
Você pode obter informações detalhadas do kernel (supondo que ele tenha sido configurado com CONFIG_FTRACE) usando iosnoop , um dos scripts da coleção Brendan Gregg de rastreamento e desempenho. Por exemplo:
$ sudo /opt/perf-tools-master/bin/iosnoop
Tracing block I/O. Ctrl-C to end.
COMM PID TYPE DEV BLOCK BYTES LATms
chromium-bro 19962 R 8,0 21573632 16384 1.89
jbd2/sda3-41 416 WS 8,0 63562984 4096 2.00
kworker/1:1H 288 WS 8,0 129725080 32768 1.96
<idle> 0 WS 8,0 129725144 4096 0.39
jbd2/sda1-23 231 WS 8,0 8137984 4096 0.09
gawk 5839 WS 8,0 10314904 4096 0.35
jbd2/sda3-41 416 WS 8,0 173342200 4096 1.96
gawk 5839 WS 8,0 129725168 4096 0.33
emacs 9514 WS 8,0 132405432 65536 1.77
emacs 9514 WS 8,0 173343232 118784 1.77
...
Note também que os discos têm firmware que pode provocar atividade principal, por exemplo, fazendo algum tipo de verificação de realinhamento.
O Ubuntu escreveu fatrace
para essa finalidade.
Se você não consegue encontrá-lo com fatrace
, e não há nenhum processo abrindo o nó do dispositivo diretamente ( lsof /dev/sd*
), é uma coisa do kernel.
Exemplo de erro no kernel: Disco rígido gira & volte novamente a cada 10 segundos; nenhum acesso mostrado em 'fatrace'
Uma coisa do kernel para estar ciente é o write-back periódico. Lembre-se de que o sistema de arquivos usa um cache write-back. Por padrão, as gravações não sincronizadas podem ficar na fila por 5 segundos antes de serem liberadas para o disco .
A maioria dos discos rígidos modernos tem seus próprios controladores. Pode ser realmente o que for:
standby
ou sleep
(alguns fazem isso automaticamente, outros não, embora isso seja configurável). hdparm
tem várias maneiras padrão, mais ou menos, de entender como um disco funciona, mas muitos dos recursos não são suportados por muitos discos . Algumas consultas úteis para um disco são:
hdparm -b /dev/<disk>
: estado do BUS hdparm -B /dev/<disk>
: Informações de gerenciamento de energia (ele entrará no modo de espera automaticamente?) hdparm -M /dev/<disk>
: gerenciamento acústico (controle de velocidade, embora eu nunca tenha visto um único disco que suporte essa consulta hdparm
) Estes podem ser usados para verificar se o disco pode fazer algo por conta própria. Eles não podem dizer se o disco realmente fará isso, é uma decisão tomada pelo firmware dentro.
A última opção da minha enumeração anterior "um daemon real lendo / escrevendo de / para o disco" pode ser verificada com:
hdparm -y /dev/<disk>
para forçá-lo ao modo standby
. hdparm -C /dev/<disk>
para verificar se ele permanece no modo standby
. Aviso: a grande maioria dos discos não suporta a maioria dos comandos hdparm
(ATA / SATA). No entanto, eles geralmente apoiam pelo menos alguns deles. Sua milhagem pode variar significativamente.
Tags disk monitoring io linux