Eu tenho um servidor web ocioso na maioria das vezes. Isso faz com que o disco rígido principal gire após alguns minutos, todos os outros discos rígidos já estão girando. Esse é um comportamento desejado, pois desejo que o sistema economize o máximo de energia possível.
Infelizmente, o disco rígido principal gira novamente após alguns segundos, causando muito desgaste na mecânica do disco rígido. Isso acontece de forma confiável o tempo todo, mesmo que ninguém esteja acessando o servidor web. Existe uma maneira de registrar os eventos de rotação da unidade e talvez a fonte?
E é possível criar um cache ramfs automático ou algo parecido? Eu acho que é o mesmo arquivo que é acessado repetidamente, e seria ótimo se alguém pudesse alocar uma área na memória como um cache onde os arquivos acessados são copiados, para que não precisem ser buscados no disco e, portanto, o disco não precisa girar. Desde já, obrigado!
fatrace
foi escrito especificamente para isso. Ele monitora o acesso aos arquivos no sistema de arquivos.Isso geralmente funciona bem. Você deve entender que, em teoria, você pode ter bugs no software de armazenamento que funcionam em um nível inferior, ou seja, acessando diretamente o dispositivo de bloco ou dentro do kernel.
Eu
sync
primeiro e deixo o disco rígido ocioso... mas você vai querer girá-lo manualmente comhdparm
... então qualquer atividade audível do disco pode ser atribuída a gravações ou leituras não armazenadas em cache mostradas pelo fatrace. O spindown é necessário porque, caso contrário, é difícil saber se uma leitura foi armazenada em cache ou não. se você usar o sudo, que grava logs, abra um shell root (sudo -i
) para executar a sincronização, o hdparm e o fatrace.esta é uma ótima ideia (para desempenho) que basicamente já está implementada conforme descrito, é chamada de cache de página.
mas é muito comum ter arquivos de log, ou possivelmente bancos de dados, que estão sendo gravados em intervalos frequentes, causando uma situação como a que você descreveu.
Existe a possibilidade de você não gostar desta resposta, mas há uma solução muito fácil:
Substitua o disco por um SSD.
Eles usam menos energia enquanto ativos e enquanto ociosos do que os discos rígidos tradicionais, e a retomada de um estado ocioso tem impacto quase nulo em sua expectativa de vida.
Dado que o disco em questão é o seu disco principal, é muito provável que isso também melhore o desempenho geral do sistema (ou pelo menos reduza o tempo de inicialização).