如何解决交换创建时的错误:“跳过 - 似乎有漏洞。”(Ubuntu 22.04)

如何解决交换创建时的错误:“跳过 - 似乎有漏洞。”(Ubuntu 22.04)

我尝试在 Ubuntu 22.04 上创建 1GB 交换文件,但没有成功。

我使用以下命令:

sudo rm /swapfile1
sudo dd if=/dev/zero of=/swapfile1 bs=1KB count=1MB status=progress
sudo chmod 0600 /swapfile1
sudo mkswap /swapfile1
sudo swapon /swapfile1

我得到的输出:

905663000 bytes (906 MB, 864 MiB) copied, 5 s, 181 MB/s
1000000+0 records in
1000000+0 records out
1000000000 bytes (1.0 GB, 954 MiB) copied, 5.46825 s, 183 MB/s

Setting up swapspace version 1, size = 953.7 MiB (999993344 bytes)
no label, UUID=4c4c204b-57ff-484d-848b-d719e0260156

swapon: /swapfile1: skipping - it appears to have holes.

语境

当查看我的可用空间时,我看到:

$ df /
Filesystem               1K-blocks      Used Available Use% Mounted on
rpool/ROOT/ubuntu_emx73f 879401216 225886848 653514368  26% /

请注意,我使用 Ubuntu 的全盘加密(不确定这是否相关)

此外,替换dd为也fallocate无法解决问题

答案1

感谢 FedKad 向我指出了 Stratus 的答案。

解决问题的办法是:

sudo zfs create -V 1G -b 8192 -o logbias=throughput -o sync=always -o primarycache=metadata -o com.sun:auto-snapshot=false rpool/swap
sudo mkswap -f /dev/zvol/rpool/swap
sudo swapon /dev/zvol/rpool/swap

相关内容