Man*_*dan 1 filesystems swap dd hard-disk fallocate-command
当执行该sudo fallocate -l 2G /swapfile命令时,会创建 2 GB,但包含那种内容或数据?可以定制吗?如果是的话怎么办?我确实做了一些研究,但没有关于这方面的细节。我想知道是否有很好的fallocate用途swap file。
例如,sudo dd if=/dev/zero of=/swapfile bs=1024 count=N创建填充零的数据,不确定是否swap file强制要求填充零的数据 - 在swap file教程中没有提到这一点。
交换文件不需要全为零。内核跟踪正在使用的块。
但是,man mkswap可能会警告您不要使用fallocate:
请注意,交换文件不得包含任何漏洞。使用
cp(1)创建文件是不可接受的。fallocate(1)也不能在支持预分配文件的文件系统(例如 XFS 或 ext4)或写时复制文件系统(例如 btrfs)上使用。在这些情况下建议使用dd(1)and/dev/zero。swapon(8)请在将交换文件添加到写时复制文件系统之前阅读注释。
(并非所有版本的联机帮助页都包含该内容)
进一步swapon说:
内核中的交换文件实现期望能够直接写入文件,而不需要文件系统的帮助。
fallocate(1)这是XFS 或 ext4 等文件系统上的预分配文件(例如 )以及 btrfs 等写时复制文件系统上的问题 。
手册页的另一个版本说
创建的预分配文件
fallocate(1)也可能被解释为有漏洞的文件,具体取决于文件系统。自 Linux 4.18 起,XFS 支持预分配的交换文件。
因此,是否可以使用创建交换文件的问题fallocate很大程度上取决于您的内核和文件系统。
相比之下,简单的dd就可以了。
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |