Como determinar quantos bytes / h estão sendo gravados no meu cartão SD

3

Eu tenho um sistema Linux embarcado no Debian que usa um cartão SD como o RFS. O que é uma maneira confiável de determinar quantos bytes / h estão sendo gravados no cartão SD?

    
por fred basset 19.03.2014 / 20:33

1 resposta

2

Algumas maneiras:

  • Se você puder obter dados SMART de um carrinho SD com smartctl, ele poderá ter um contador de bytes gravados (não faz ideia se isso é possível). Este será o mais preciso, pois contará todas as partições e também não será perdido durante a reinicialização. Pode também ser capaz de contar qualquer amplificação de escrita causada pelo tamanho do bloco de apagamento e / ou nivelamento de desgaste.
  • Dependendo do sistema de arquivos que você está usando, pode haver um contador de gravação. Por exemplo, o ext4 rastreia gravações de duração, que você pode ver com dumpe2fs -h .
  • O kernel mantém os contadores de E / S. Existem vários programas para vê-los (eles são em / sys e / proc, então você não precisa de programas especiais). Por exemplo iostat /dev/sda mostrar-lhe-á quantos kB foram escritos desde o arranque, e os kB / seg também desde o arranque. iostat também pode mostrar os valores atuais (por exemplo, iostat /dev/sda 10 mostrará os valores para cada 10 segundos).

A abordagem básica para transformar um contador em uma medida por tempo é fazer uma leitura e registrá-la, e depois dedicar outra vez, subtrair e dividir.

Exemplo:

  1. Às 06:00 horas, foram escritos 10 KB.
  2. Às 1000 horas, foram escritos 50 KB.
  3. 50kB - 10kB = 40kB; 40kB ÷ 4 horas = 10 kB / hora.
por 19.03.2014 / 21:11