Medindo 'total de bytes gravados' no Linux

31

Estamos muito interessados em explorar a possibilidade de usar unidades SSD em um ambiente de servidor. No entanto, uma coisa que precisamos estabelecer é a longevidade da unidade esperada. De acordo com o artigo deste , o fabricante está reportando resistência de unidade em termos de 'total de bytes gravados' (TBW). Por exemplo. A partir desse artigo, um SSD Crucial C400 é avaliado em 72 TB TBW. Existem scripts / ferramentas no ecossistema Linux para nos ajudar a medir o TBW? (e, em seguida, tomar uma decisão mais instruída sobre a viabilidade de usar unidades SSD)

    
por badnews 21.02.2011 / 05:20

5 respostas

23

Outra possibilidade é olhar para / proc / diskstats . Não é persistente nas reinicializações, mas possui dados para todos os dispositivos de bloco. Provavelmente, o mais interessante para você é o campo 10, que contém o número total de setores gravados. Em um sistema com discos scsi com um tamanho de setor de 512 bytes, você pode executar

awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats

para ver quantos megabytes foram gravados em cada dispositivo. A saída será parecida com

sda 728.759
sda1 79.0908
sda2 649.668

    
por 23.02.2011 / 06:07
18

Eu estava lutando com o mesmo problema no meu notebook, mas como eu reinicio praticamente em uma base diária, a resposta aceita não foi útil. Eu tenho um Samsung mSATA SSD, que por acaso tem o atributo SMART # 241 Total_LBAs_Written. De acordo com a documentação oficial ,

To calculate the total size (in Bytes), multiply the raw value of this attribute by 512B.

Então o seguinte comando me dá o total de TB escrito no meu disco SSD (sdb)

sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '

Como também funciona no meu disco rígido, presumo que funcione em praticamente todos os discos rígidos modernos.

    
por 03.02.2014 / 04:50
10

Você pode ver quantos dados foram gravados em um sistema de arquivos ext4 procurando em / sys / fs / ext4 / $ DEVICE / lifetime_write_kbytes.

    
por 21.02.2011 / 06:35
1

Você pode tentar iostat . Ele fornece estatísticas relacionadas ao uso de IO e CPU. Dê uma olhada no manual man iostat .

    
por 21.02.2011 / 06:18
1

Para o meu KINGSTON SEDC400S37480G, no Ubuntu Server 14.04, eu uso o seguinte script para monitorar o TBW. Eu corro do cron uma vez por dia. O script é enviado para um arquivo de log.

Você precisa de calc para funcionar. Instale calc usando:

apt-get install apcalc

Conteúdo do script:

echo "*** $(date -R) ***" >> /scripts/tbw/log.txt
tbw=$(cat /sys/fs/ext4/sda1/lifetime_write_kbytes)
TB=1000000000
echo TB written to sda1: >> /scripts/tbw/log.txt | calc $tbw / $TB >> /scripts/tbw/log.txt

A saída será:

*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB written to sda1:
    3.062138442
    
por 20.07.2017 / 02:14