从该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.
而从该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/...