Cara tercepat untuk membuat file di sistem Linux adalah menggunakan fallocate
:
fallocate -l 50G file
Dari pria:
fallocate digunakan untuk memanipulasi ruang disk yang dialokasikan untuk file, baik untuk membatalkan alokasi atau mengalokasikannya terlebih dahulu.
Untuk sistem file yang mendukung panggilan sistem fallocate, pra-alokasi dilakukan dengan cepat dengan mengalokasikan blok dan menandainya sebagai tidak diinisialisasi, tidak memerlukan IO ke blok data. Ini jauh lebih cepat daripada membuat file dengan mengisinya dengan nol.
Didukung untuk XFS (sejak Linux 2.6.38), ext4 (sejak Linux 3.0), Btrfs (sejak Linux 3.7) dan tmpfs (sejak Linux 3.5).
Alternatif lain termasuk:
- untuk mengubah ambang batas alarm menjadi mendekati atau di bawah penggunaan saat ini, atau
- untuk membuat partisi uji yang sangat kecil dengan inode, ukuran, atau atribut lain yang terbatas.
Mampu menguji hal-hal seperti menjalankan persentase cadangan root, jika ada, mungkin juga berguna.
-
fallocate -l 50G big_file
-
truncate -s 50G big_file
-
dd of=bigfile bs=1 seek=50G count=0
Karena ketiga cara tersebut semuanya dapat mengisi partisi dengan cepat.
Jika Anda suka gunakan dd , biasanya Anda bisa mencobanya dengan seek . Cukup atur seek=file_size_what_you_need
dan atur count=0
. Itu akan memberi tahu sistem bahwa ada file , dan ukurannya adalah apa yang Anda atur, tetapi sistem sebenarnya tidak akan membuatnya. Dan dengan menggunakan cara ini, Anda dapat membuat file yang lebih besar dari ukuran partisi.
Contoh, pada ext4 partisi dengan kurang dari 3G tersedia. Gunakan dd untuk membuat file 5T yang ada sebagai metadata -- hampir tidak memerlukan ruang blok.
df -h . ; dd of=biggerfile bs=1 seek=5000G count=0 ; ls -log biggerfile ; df -h .
Keluaran:
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