Saya bertanya-tanya apa bedanya antara membuat swapfile dengan
fallocate -l 1G /swapfile
dan
dd if=/dev/zero of=/swapfile bs=1024 count=1024
keduanya tampaknya bekerja dengan baik, tetapi apakah satu memiliki keunggulan dibandingkan yang lain?
Satu-satunya hal yang bisa saya temukan online adalah itu fallocate
tidak berfungsi pada semua sistem file.
fallocate
biasanya lebih cepat (karena tidak mengisi file yang dibuat dengan nol) - jika tidak ada perbedaan, hasil akhirnya sama. Lihat: antipaucity.com/2017/08/31/…Jawaban:
Dari halaman
mkswap
manual :Dan dari halaman
swapon
manual :Oleh karena itu, walaupun
fallocate
mungkin lebih cepat daripadadd
, itu tidak cocok untuk membuat file swap dan tidak didukung oleh alat terkait swap.sumber
fallocate --length 8GiB swapfile
saya bingung.fallocate
akan menjadi masalah. Tampaknya, well, mengalokasikan ruang. (Seperti yang tertulis di label.) Dan melakukanfallocate -l 1g /swaptest && mkswap /swaptest && swapon /swaptest
padaext4
tidak mengeluh tentang apa pun.truncate -l 1g
akan berbeda, karena hanya menetapkan ukuran file tetapi tidak mengalokasikan blok apa pun.Fallocate lebih cepat, Dari manual fallocate:
fallocate digunakan untuk memanipulasi ruang disk yang dialokasikan untuk suatu file, baik untuk membatalkan alokasi atau melakukan pra-alokasi. 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.
fallocate(1)
sumber