Soluzione 1:
Un'altra possibilità è guardare /proc/diskstats. Non è persistente tra i riavvii, ma contiene dati per ogni dispositivo a blocchi. Probabilmente il più interessante per te è il campo 10, che contiene il numero totale di settori scritti. Su un sistema con dischi scsi con una dimensione del settore di 512 byte, potresti eseguire
awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
per vedere quanti megabyte sono stati scritti su ciascun dispositivo. L'output sarà simile a
sda 728.759
sda1 79.0908
sda2 649.668
Soluzione 2:
Stavo lottando con lo stesso problema sul mio notebook, ma poiché lo riavvio praticamente ogni giorno, la risposta accettata non è stata utile. Ho un SSD mSATA Samsung, che sembra avere l'attributo SMART # 241 Total_LBAs_Written. Secondo la documentazione ufficiale,
Per calcolare la dimensione totale (in byte), moltiplica il valore non elaborato di questo attributo per 512B.
Quindi il seguente comando mi fornisce i TB totali scritti sul mio disco SSD (sdb)
sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '
Dato che funziona anche sul mio HDD, presumo che dovrebbe funzionare praticamente su ogni disco rigido moderno.
Soluzione 3:
Puoi vedere quanti dati sono stati scritti su un filesystem ext4 guardando in /sys/fs/ext4/$DEVICE/lifetime_write_kbytes.
Soluzione 4:
Puoi provare iostat
. Fornisce statistiche relative all'utilizzo di IO e CPU. Dai un'occhiata al manuale man iostat
.
Soluzione 5:
Per il mio KINGSTON SEDC400S37480G, in Ubuntu Server 14.04, utilizzo il seguente script per monitorare TBW. Lo eseguo da cron una volta al giorno. Lo script genera un file di registro.
Hai bisogno di calc per farlo funzionare. Installa calc usando:
apt-get install apcalc
Contenuto dello 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
Produrrà:
*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB written to sda1:
3.062138442