As máquinas de produção na minha loja estão executando o Red Hat Linux Server 6.3. Eu descobri que o Linux parece não liberar caches de arquivos para o disco após a reinicialização. Aqui está o seguinte teste que executei na conta de administrador do sistema:
# echo "kdnf2oeintgi3tn3itntel,slekrlejrkjr2o002982484t848t28842t" > /root/testfile
# reboot
Depois que o sistema voltou, eu registrei como conta de administrador do sistema e executei os seguintes comandos:
# ls -l /root/testfile
-rw------- 1 root root 0 Nov 15 23:23 /root/testfile
Como você pode ver, é um arquivo de tamanho zero.
Aqui está a linha correspondente de /etc/fstab
, que mostra que o sistema de arquivos é ext4
UUID=f7cb1bbf-4a90-4213-8007-bf3636f217f5 / ext4 defaults 1 1
O comando de reinicialização é muito rigoroso? Eu tentei desligar -r e ele falha da mesma maneira. Eu tentei o init 6 e ele falha da mesma maneira. Existe algum parâmetro do kernel Linux eu posso ir para verificar o cache de arquivos para ser liberado na reinicialização? Poderia ser um possível problema de configuração do sistema de arquivos em / etc / fstab? Eu não consigo entender que o Linux realmente funciona assim "fora da caixa".
Gostaria de salientar que, se você emitir uma sincronização antes da reinicialização, isso funcionará bem. Se você esperar por cerca de um minuto em vez de emitir a sincronização antes da reinicialização, ela funcionará bem. Isso parece ser claramente uma indicação de algum buffer de arquivo que não está sendo liberado para o disco.
Tags cache reboot linux filesystems