จากmanpage :mkswap
Note that a swap file must not contain any holes. Using cp(1) to
create the file is not acceptable. Neither is use of fallocate(1) on
file systems that support preallocated files, such as XFS or ext4, or
on copy-on-write filesystems like btrfs. It is recommended to use
dd(1) and /dev/zero in these cases. Please read notes from swapon(8)
before adding a swap file to copy-on-write filesystems.
และจากmanpage :swapon
You should not use swapon on a file with holes. This can be seen in
the system log as
swapon: swapfile has holes.
The swap file implementation in the kernel expects to be able to write
to the file directly, without the assistance of the filesystem. This
is a problem on preallocated files (e.g. fallocate(1)) on filesystems
like XFS or ext4, and on copy-on-write filesystems like btrfs.
ตามมาว่าแม้ว่าfallocate
อาจจะเร็วกว่าdd
แต่ก็ไม่เหมาะสำหรับการสร้างไฟล์สลับและไม่รองรับเครื่องมือที่เกี่ยวข้องกับการสลับ
fallocate
มักจะเร็วกว่า (เนื่องจากไม่ได้เติมไฟล์ที่สร้างด้วยศูนย์) - ไม่เช่นนั้นจะไม่มีความแตกต่างผลลัพธ์สุดท้ายก็เหมือนกัน ดู: antipaucity.com/2017/08/31/ …