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

Testen von Festplattenspeicher unter Linux

  1. Erstellen Sie eine Datei in der gewünschten Größe (hier 10 MB)

    dd if=/dev/zero of=/home/qdii/test bs=1024 count=10000

  2. Machen Sie aus dieser Datei ein Loopback-Gerät

    losetup -f /home/qdii/test

  3. Formatieren Sie dieses Gerät im gewünschten Dateisystem

    mkfs.ext4 /dev/loopXXX

  4. Montieren Sie es, wo immer Sie möchten (/mnt/test sollte vorhanden sein)

    sudo mount /dev/loopXXX /mnt/test

  5. Kopieren Sie Ihr Programm auf diese Partition und testen Sie

    cp /path/my/program /mnt/test && cd /mnt/test && ./program

Ersetzen Sie /dev/loopXXX mit dem Loop-Gerät losetup erstellt, finden Sie es mit losetup -a heraus .

Wenn Sie fertig sind, vergessen Sie nicht:

  • unmounten mit sudo umount /mnt/test .
  • Schleifengeräte nach Gebrauch aufräumen, mit losetup -D /dev/loopXXX
  • Entfernen Sie die Datei.

Eine andere Möglichkeit wäre, das entsprechende Limit mit setrlimit(2) syscall mit RLIMIT_FSIZE zu reduzieren oder mit dem bash ulimit eingebaut (unter Verwendung von -f ). Dann würde write(2) mit EFBIG fehlschlagen

Und Sie könnten auch einige Kontingente für ein geeignetes Dateisystem festlegen, also write(2) schlägt mit EDQOT fehl .

Wenn Sie den echten ENOSPC wollen Fehler zu write(2) Sie benötigen wahrscheinlich ein Loopback-Dateisystem, wie von qdii beantwortet.

Übrigens, ich weiß nicht wirklich, wie ich den EIO "emulieren" soll Fehler (vielleicht mit einem FUSE-Dateisystem?).

Viele Programme verarbeiten write(2) Fehler (und fast alle sollten). Aber ich kenne nicht viele Programme, die sehr unterschiedlich mit den verschiedenen Fehlern umgehen, die mit write(2) möglich sind . Die meisten Programme verarbeiten alle write(2) Fehler auf die gleiche Weise.


Verwenden Sie einfach /dev/full, es wird den ENOSPC-Fehler auslösen, wenn Sie versuchen, darauf zu schreiben:

$ echo "Hello world" > /dev/full
bash: echo: write error: No space left on device

Linux
  1. Verwenden Sie df, um den freien Speicherplatz unter Linux zu überprüfen

  2. Überprüfen Sie den belegten Speicherplatz unter Linux mit du

  3. So finden Sie die wichtigsten Verzeichnisse und Dateien (Festplattenspeicherplatz) in Linux heraus

  4. Linux-Systemadministratoren wollen wissen:Wo ist mein Speicherplatz geblieben?

  5. Das Abonnement oder die Domäne hat keinen Speicherplatz mehr

Df-Befehl in Linux (Speicherplatz prüfen)

So überprüfen Sie die Speicherplatznutzung in Linux mit Ncdu

Diskonaut:Ein Terminal-Festplattennavigator für Linux

Wie kann ich Speicherplatz auf einer Linux-Instanz bereinigen?

So überprüfen Sie den freien Speicherplatz unter Linux

Linux-df-Befehl zum Überprüfen des Speicherplatzes