Nejrychlejším způsobem vytvoření souboru v systému Linux je použití fallocate
:
fallocate -l 50G file
Od muže:
fallocate se používá k manipulaci s přiděleným diskovým prostorem pro afile, a to buď k jeho uvolnění nebo předběžnému přidělení.
U souborových systémů, které podporují systémové volání fallocate, se předběžné přidělení provádí rychle přidělením bloků a jejich označením jako neinicializované, což nevyžaduje žádné vstupy do datových bloků. To je mnohem rychlejší než vytvoření souboru jeho vyplněním nulami.
Podporováno pro XFS (od Linuxu 2.6.38), ext4 (od Linuxu 3.0), Btrfs (od Linuxu 3.7) a tmpfs (od Linuxu 3.5).
Mezi další alternativy patří:
- změnit prahové hodnoty alarmu na něco blízkého nebo nižšího než aktuální použití, nebo
- vytvořit velmi malý testovací oddíl s omezenými inody, velikostí nebo jinými atributy.
Schopnost testovat věci, jako je spuštění do kořenového rezervovaného procenta, pokud existuje, může být také užitečné.
-
fallocate -l 50G big_file
-
truncate -s 50G big_file
-
dd of=bigfile bs=1 seek=50G count=0
Všechny tyto tři způsoby mohou rychle zaplnit oddíl.
Pokud chcete, použijte dd , obvykle to můžete zkusit pomocí hledání . Stačí nastavit seek=file_size_what_you_need
a nastavte count=0
. To systému sdělí, že existuje soubor a jeho velikost je to, co nastavíte, ale systém to ve skutečnosti nevytvoří. A pomocí tohoto způsobu můžete vytvořit soubor, který je větší než velikost oddílu.
Příklad na ext4 oddíl s dostupným méně než 3G. Použijte dd vytvořit soubor 5T, který existuje jako metadata – nevyžaduje prakticky žádný blokový prostor.
df -h . ; dd of=biggerfile bs=1 seek=5000G count=0 ; ls -log biggerfile ; df -h .
Výstup:
Filesystem Size Used Avail Use% Mounted on
/dev/sda9 42G 37G 2.8G 94% /home
0+0 records in
0+0 records out
0 bytes copied, 4.9296e-05 s, 0.0 kB/s
-rw-rw-r-- 1 5368709120000 Jun 29 13:13 biggerfile
Filesystem Size Used Avail Use% Mounted on
/dev/sda9 42G 37G 2.8G 94% /home