Lösung 1:
Eine andere Möglichkeit ist, nach /proc/diskstats zu schauen. Es ist nicht über Neustarts hinweg persistent, aber es enthält Daten für jedes Blockgerät. Am interessantesten für Sie ist wahrscheinlich Feld 10, das die Gesamtzahl der geschriebenen Sektoren enthält. Auf einem System mit SCSI-Festplatten mit einer Sektorgröße von 512 Byte könnten Sie
ausführen
awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
um zu sehen, wie viele Megabyte auf jedes Gerät geschrieben wurden. Die Ausgabe sieht folgendermaßen aus:
sda728.759
sda1 79.0908
sda2 649.668
Lösung 2:
Ich hatte mit dem gleichen Problem auf meinem Notebook zu kämpfen, aber da ich es fast täglich neu starte, war die akzeptierte Antwort nicht hilfreich. Ich habe eine Samsung mSATA SSD, die zufällig das SMART-Attribut #241 Total_LBAs_Written hat. Laut offizieller Dokumentation
Um die Gesamtgröße (in Byte) zu berechnen, multiplizieren Sie den Rohwert dieses Attributs mit 512 B.
Der folgende Befehl gibt mir also die gesamten TB an, die auf meine SSD-Festplatte (sdb) geschrieben wurden
sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '
Da es auch auf meiner Festplatte funktioniert, gehe ich davon aus, dass es auf so ziemlich jeder modernen Festplatte funktionieren sollte.
Lösung 3:
Sie können sehen, wie viele Daten in ein ext4-Dateisystem geschrieben wurden, indem Sie in /sys/fs/ext4/$DEVICE/lifetime_write_kbytes.
nachsehenLösung 4:
Sie können iostat
versuchen . Es gibt Ihnen Statistiken zur IO- und CPU-Auslastung. Werfen Sie einen Blick in das Handbuch man iostat
.
Lösung 5:
Für mein KINGSTON SEDC400S37480G verwende ich unter Ubuntu Server 14.04 das folgende Skript, um TBW zu überwachen. Ich führe es einmal täglich von cron aus. Das Skript gibt in eine Protokolldatei aus.
Sie benötigen calc, damit es funktioniert.Installieren Sie calc mit:
apt-get install apcalc
Inhalt des Skripts:
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
Wird ausgegeben:
*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB written to sda1:
3.062138442