GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Messen der 'gesamt geschriebenen Bytes' unter Linux

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.

nachsehen

Lö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

Linux
  1. Signierte ausführbare Dateien unter Linux

  2. Wie erstellt man Visual Studio Solution unter Linux?

  3. Wie beschränke ich eine Pipe unter Linux?

  4. Verbinden von Webm-Videos unter Linux

  5. Wie plane ich einen Neustart unter Linux?

Redox OS:ein in Rust geschriebenes Betriebssystem

So überwachen Sie die Benutzeraktivität unter Linux

Verwalten von Partitionen unter Linux mit fdisk

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

Verschiedene Methoden zum Mounten eines Laufwerks unter Linux?

Installationsschritte von jEdit unter Ubuntu Linux