GNU/Linux >> Linux Esercitazione >  >> Linux

Modo per riempire/utilizzare istantaneamente molto spazio su disco?

Il modo più veloce per creare un file in un sistema Linux è usare fallocate :

fallocate -l 50G file 

Dall'uomo:

fallocate viene utilizzato per manipolare lo spazio su disco allocato per un file, per deallocarlo o preallocarlo.
Per i filesystem che supportano la chiamata di sistema fallocate, la preallocazione viene eseguita rapidamente allocando i blocchi e contrassegnandoli come non inizializzati, senza richiedere IO ai blocchi di dati. Questo è molto più veloce che creare un file riempiendolo di zeri.
Supportato per XFS (da Linux 2.6.38), ext4 (da Linux 3.0), Btrfs (da Linux 3.7) e tmpfs (da Linux 3.5).


Altre alternative includono:

  1. per modificare le soglie di allarme in qualcosa vicino o al di sotto dell'utilizzo corrente, oppure
  2. per creare una partizione di test molto piccola con inode, dimensioni o altri attributi limitati.

Anche essere in grado di testare cose come imbattersi nella percentuale riservata di root, se presente, può essere utile.


  1. fallocate -l 50G big_file

  2. truncate -s 50G big_file

  3. dd of=bigfile bs=1 seek=50G count=0

Poiché questi tre modi possono riempire rapidamente una partizione.

Se ti piace usa dd , di solito puoi provarlo con seek . Basta impostare seek=file_size_what_you_need e imposta count=0 . Questo dirà al sistema che c'è un file e la sua dimensione è ciò che imposti, ma il sistema non lo creerà effettivamente. E usato in questo modo, puoi creare un file più grande della dimensione della partizione.

Esempio, su un ext4 partizione con meno di 3G disponibile. Usa gg per creare un file 5T che esiste come metadati -- che non richiede virtualmente spazio di blocco.

df -h . ; dd of=biggerfile bs=1 seek=5000G count=0 ; ls -log biggerfile ; df -h .

Uscita:

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

Linux
  1. Usa il comando fallocate per creare file di dimensioni specifiche in Linux

  2. Crea un file di scambio Linux

  3. Come creare un file in Linux dalla finestra del terminale?

  4. È possibile utilizzare / in un nome file?

  5. Come cancellare lo spazio libero su disco in Linux?

Come creare un file in Linux

Come creare file Tar Gz

Come creare e utilizzare file di scambio su Linux

Comprendere lo spazio su disco tramite il comando 'df' in Linux

Come creare file di scambio su disco ssd con btrfs

Ricerca di file che utilizzano la maggior parte dello spazio su disco