我从交换文件中交换了很长一段时间,但由于某种原因它停止工作。
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,那么更新是否有可能发生了一些变化,或者可能是什么原因?
如果您使用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)
我发现它记录在精美的材料中。
请尝试更换
fallocate -l 4G /home/.swap/swapfile
和
dd if=/dev/zero of=/home/.swap/swapfile bs=1M count=4096