Swapfile Swapon 无效参数

sim*_*nes 2 linux swap fstab

我从交换文件中交换了很长一段时间,但由于某种原因它停止工作。

sudo fallocate -l 4G /home/.swap/swapfile
sudo chmod 600 /home/.swap/swapfile
sudo mkswap /home/.swap/swapfile

# /etc/fstab
/home/.swap/swapfile swap swap defaults 0 0

sudo swapon -a
Run Code Online (Sandbox Code Playgroud)

swapon: /home/.swap/swapfile: swapon failed: Invalid argument

我正在运行最新版本的 Fedora,那么更新是否有可能发生了一些变化,或者可能是什么原因?

Ste*_*sen 8

如果您使用btrfs,您应该创建不带写时复制的交换文件。这是用 完成的chattr +C。在向文件写入任何内容之前设置此属性非常重要:

truncate -s 0 swapfile
chattr +C swapfile
fallocate -l 2G swapfile
chmod 0600 swapfile
mkswap swapfile
swapon swapfile
Run Code Online (Sandbox Code Playgroud)

/etc/fstab使用此条目将其添加到:

/path/swapfile        none        swap        defaults      0 0
Run Code Online (Sandbox Code Playgroud)

我发现它记录在精美的材料中。

  • 谢谢你!dmesg 说:BTRFS 警告(设备 dm-1):交换文件不能是写时复制 (3认同)

Art*_*nov 6

请尝试更换

fallocate -l 4G /home/.swap/swapfile

dd if=/dev/zero of=/home/.swap/swapfile bs=1M count=4096