我想知道创建一个swapfile与
fallocate -l 1G /swapfile和
dd if=/dev/zero of=/swapfile bs=1024 count=1024两者似乎都很好,但一个比另一个有优势吗?
我在网上唯一能找到的就是fallocate并不能在所有的文件系统上工作。
发布于 2018-03-19 13:48:35
来自这个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更快,但它不适合创建交换文件,也不受交换相关工具的支持。
https://askubuntu.com/questions/1017309
复制相似问题