Eu sou o proprietário de um NAS, executando alguma distribuição Linux. Ele vem com um front-end de administração da web, onde eu posso gerenciar vários serviços, direitos de usuário e também quando ele deve dormir. Meu problema é que, por algum motivo, quando o NAS adormece, 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? Eu sou muito novo no Linux, mas consegui obter acesso root e agora tenho uma conexão SSH.
Respostas:
O inotify-tools é uma maneira simples de fazer isso. Existem vários exemplos no site deles que poderiam fazer o que você deseja (veja o exemplo inotifywatch para um exemplo realmente básico).
fonte
Tente correr,
iotop
talvez? Eu achei útil no passado.fonte
Outra dica: use o Systemtap, existem vários scripts de análise no site do systemtap úteis o suficiente para encontrar o culpado.
Em outro caso,
Se você deseja descobrir qual processo causou a rotação do disco, você pode coletar 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 de disco que ocorrem e todas as sujeiras de bloco feitas nos arquivos. Isso torna possível depurar por que um disco precisa girar e aumentar ainda mais a vida útil da bateria. A saída do block_dump é gravada na saída do kernel, e pode ser recuperada usando "dmesg" ou consulte o recurso syslog kern para o destino das mensagens de depuração. Geralmente, deveria ser/var/log/debug
. Quando você usa o block_dump e seu nível de log do kernel também inclui mensagens de depuração do kernel, você provavelmente deseja desativar o klogd, caso contrário, a saída do block_dump será registrada, causando atividade de disco que normalmente não existe.fonte
Você precisa dizer ao kernel para informá-lo de todas as leituras / gravações em discos e, em seguida, é necessário examinar essas informações.
Assim:
sync
limpa todas as gravações pendentes em discos, para que você só veja novas leituras ou gravações.dmesg -c
mostra as mensagens do kernel e as limpa (caso contrário, você também vê as antigas, toda vez que você executa o dmesg).grep
filtra a saída do dmesg para a atividade do disco em que você está interessado. Substitua / dev / sda pelo seu dispositivo real.Normalmente, uso algo assim para girar o disco e verificar quando ele gira novamente:
O
while
loop verifica o status ativo / inativo do disco a cada 10 minutos. Quando você o ligar, execute admesg
linha acima para ver whodunnit.fonte