GNU/Linux >> Znalost Linux >  >> Linux

testování nedostatku místa na disku v linuxu

  1. Vytvořte soubor požadované velikosti (zde 10 MB)

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

  2. Vytvořte z tohoto souboru zařízení zpětné smyčky

    losetup -f /home/qdii/test

  3. Naformátujte toto zařízení v požadovaném systému souborů

    mkfs.ext4 /dev/loopXXX

  4. Připevněte jej, kamkoli chcete (/mnt/test by měl existovat)

    sudo mount /dev/loopXXX /mnt/test

  5. Zkopírujte svůj program na tento oddíl a otestujte

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

Nahraďte /dev/loopXXX se smyčkovým zařízením losetup vytvořen, zjistěte pomocí losetup -a .

Až budete hotovi, nezapomeňte:

  • odpojte pomocí sudo umount /mnt/test .
  • vyčistěte smyčková zařízení po použití pomocí losetup -D /dev/loopXXX
  • odeberte soubor.

Další možností by bylo snížit příslušný limit pomocí setrlimit(2) syscall s RLIMIT_FSIZE nebo pomocí bash ulimit vestavěný (pomocí -f ). Pak by zápis(2) selhal s EFBIG

A můžete také nastavit nějaké kvóty pro nějaký vhodný souborový systém, takže write(2) selže s EDQOT .

Pokud chcete skutečný ENOSPC chyba na write(2) pravděpodobně potřebujete souborový systém zpětné smyčky, jak odpověděl qdii.

BTW, opravdu nevím, jak "emulovat" EIO chyba (možná s nějakým souborovým systémem FUSE?).

Mnoho programů zpracovává write(2) chyby (a téměř všechny by měly). Ale neznám mnoho programů, které by velmi odlišně zpracovávaly různé chyby možné s write(2) . Většina programů zvládá všech write(2) chyby stejným způsobem.


Stačí použít /dev/full, při pokusu o zápis do něj vyvolá chybu ENOSPC:

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

Linux
  1. Jak zjistit nejlepší adresáře a soubory (místo na disku) v Linuxu

  2. Zkontrolujte místo na disku v Linuxu pomocí příkazů df a du

  3. Správci systému Linux chtějí vědět:Kam zmizelo místo na disku?

  1. Použijte df ke kontrole volného místa na disku v Linuxu

  2. Zkontrolujte použité místo na disku v systému Linux pomocí du

  3. Linux – jak minimalizovat využití místa na disku?

  1. Linux – Zpomalit kopírování disku/disku?

  2. Předplatné nebo doména je nedostatek místa na disku

  3. Určení využití disku v Linuxu pomocí příkazu „du“.