O problema real era smartd
, que regulava os valores do dispositivo, mesmo quando estava no modo de espera.
Eu tenho um disco rígido, que deve entrar em modo de espera automaticamente após 30 ou 60 minutos.
Eu tentei (3 minutos para testar):
# hdparm -S 36 /dev/sda
/dev/sda:
setting standby to 36 (3 minutes)
E não funcionou, mesmo quando não havia acesso por mais de 5 minutos. Agora eu pensei em algum processo acessando dados, então eu testei
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
O Drive ficou em modo de espera e continuou dormindo, como você pode pesquisar com
# hdparm -C /dev/sda;date
/dev/sda:
drive state is: standby
Tocar em algum arquivo no ponto de montagem o despertou como você esperaria.
Por que a suspensão automática não está funcionando? Tanto quanto eu entendi, deve até desligar o disco rígido independentemente do sistema operacional, desde que não haja acesso.
Observe que algumas unidades não implementam esse recurso, mesmo se o comando passar. Talvez você também precise reduzir o nível Gerenciamento avançado de energia para 127 ou menos com hdparm -B 127 /dev/sda
. Na página do manual:
-B Get/set Advanced Power Management feature... values 1 through 127 (which permit spin-down), and values 128 through 254 (which do not permit spin-down).
Se tudo falhar, você pode escrever um pequeno script que pesquisa /proc/diskstats
ou /sys/block/sda/stat
para o número de leituras / gravações no dispositivo e coloca a unidade em modo de espera explicitamente se elas não mudarem por vários minutos. Veja o utilitário hd-idle .