inotify-tools é uma maneira simples de fazer isso. Existem vários exemplos em seu site que poderiam fazer o que você quiser (veja o exemplo do inotifywatch para um realmente básico).
Eu sou o proprietário de um NAS, executando alguma distribuição do Linux. Ele vem com um frontend de administração da web, onde eu posso gerenciar vários serviços, direitos de usuário e também quando ele deve ir dormir. Meu problema é, por algum motivo, quando o NAS foi dormir, o disco rígido liga novamente após alguns minutos. Então ele girará por algum tempo e depois dormirá novamente. Isso continua indefinidamente.
Como posso tentar determinar a causa disso? Sou muito novo no Linux, mas consegui acesso root e agora tenho uma conexão SSH.
inotify-tools é uma maneira simples de fazer isso. Existem vários exemplos em seu site que poderiam fazer o que você quiser (veja o exemplo do inotifywatch para um realmente básico).
Tente executar iotop
talvez? Eu achei útil no passado.
Outra dica: Use Systemtap, existem vários scripts de sondagem no site do systemtap, úteis o suficiente para encontrar o culpado.
Em outro caso,
Se você quiser descobrir qual processo fez com que o disco acelerasse, você pode
reunir informações definindo o sinalizador /proc/sys/vm/block_dump
.
Quando esse sinalizador é definido, o Linux relata todas as operações de leitura e gravação em disco que ocorrem e todos os bloqueios feitos em arquivos. Isto torna possível depurar porque um disco
precisa girar e aumentar ainda mais a duração da bateria. A saída de
block_dump é gravado na saída do kernel e pode ser recuperado usando
"dmesg" ou olhe para o seu recurso kern syslog para o destino das mensagens de depuração. Geralmente, deve ser /var/log/debug
. Quando você usa block_dump e seu nível de log de kernel também inclui
mensagens de depuração do kernel, você provavelmente vai querer desligar o klogd, caso contrário
a saída de block_dump será registrada, causando atividade de disco que não é
normalmente lá.
Você precisa dizer ao kernel para informá-lo sobre todas as leituras / gravações em discos, então você precisa verificar essas informações.
Então:
# sync
# echo 1 > /proc/sys/vm/block_dump
# dmesg -c | grep '/dev/sda'
sync
libera todas as gravações pendentes em discos, para que você veja apenas novas leituras ou gravações.
dmesg -c
mostra as mensagens do kernel e as limpa (caso contrário, você verá as antigas também, cada uma delas vez que você executar o dmesg).
grep
filtra a saída do dmesg para atividade do disco que você está interessado. Substitua / dev / sda pelo seu dispositivo atual.
Eu costumo usar algo assim para girar o disco e, em seguida, verificar quando ele gira novamente:
# sync
# hdparm -y /dev/sda
# while true; do hdparm -C /dev/sda ; sleep 600 ; done
O loop while
verifica o status ativo / ocioso do disco a cada 10 minutos. Quando você o ver ligado, execute a linha dmesg
acima para ver o whodunnit.