
Estou trabalhando em um projeto que usa um compact flash SanDisk para hospedar um sistema operacional Linux (sistema de arquivos ext2 e sem swap). O sistema usa um IDE separado para registro e outras funções de E/S de arquivo. Olhando on-line, parece padrão que os cartões compact flash sejam capazes de cerca de 100.000 ciclos de gravação (levando em consideração o balanceamento de carga). Existem muitas perguntas boas no SuperUser sobre como reduzir o número de gravações, mas eu gostaria de saber se existeexiste alguma maneira de monitorar/registrar o número de gravações no compact flash. Isso é possível?
Responder1
Então continuei investigando mais fundo e encontrei algumas opções:
smartcrl
Este comando encontrado no pacote smartmontools listará o número de comandos de gravação (incluindo setores lógicos gravados) e algumas outras estatísticas interessantes.https://linuxconfig.org/retrieve-hard-drive-s-age-and-general-health-information-using-linux. Mas meu flash compacto não possui capacidade SMART, então isso não funciona.
/sys/block/dev/stat
Este arquivo fornece várias estatísticas sobre o estado do dispositivo de bloco "dev", incluindo o que estou procurando - número de E/Ss de gravação processadas.https://www.kernel.org/doc/Documentation/block/stat.txt
vmstat -d
Este comando também mostra diferentes estatísticas de E/S. Basicamente as mesmas informações que /sys/block/dev/stat mas para todas as estatísticas do disco. Teria que fazer um pequeno esforço para obter o dispositivo sda no qual estou interessado.
Havia algumas outras coisas que observei, como diskstat e alguns comandos listados em tecmint.com sobre linux-performance-monitoring-with-vmstat-and-iostat-commands (eu precisava de pelo menos 10 pontos de repetição para postar mais de 2 links).
Acho que a abordagem /sys/block/dev/stat atenderá melhor às minhas necessidades.