为什么我的 btrfs 上的交换文件突然不活动了?

为什么我的 btrfs 上的交换文件突然不活动了?

我已经在 /btrfs 上创建了一个交换文件 /swap,内容如下:

touch /swap
chattr +C /swap
dd if=/dev/zero of=/swap bs=1M count=2048 
mkswap /swap && chmod 600 /swap && swapon /swap

它工作正常,挂载良好,当我检查 fstab 中是否挂载时,一切正常swapon -s。但是,过了一段时间,当我这样做时,交换文件不再挂载和工作swapon -s,我不得不重新创建文件以使其再次工作。我不知道这种情况发生的具体时间,因为我没有注意到我的系统有很多需要交换的文件。我如何才能找出何时发生以及发生了什么,并确保交换文件保持活动状态并挂载?

我的 fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=546fa6af-ca9c-419f-9883-ba182e35969d /               btrfs   ssd,space_cache,compress=zstd,noatime,defaults,subvol=@ 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=EAE2-20E2  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/nvme0n1p2 during installation
UUID=546fa6af-ca9c-419f-9883-ba182e35969d /home           btrfs   ssd,space_cache,compress=zstd,noatime,defaults,subvol=@home 0       2
/swap                                       none            swap    sw              0       0

答案1

您的案例中有一件引人注目的事情:

  • swapfile - 必须是 NODATACOW(即 NODATASUM,不压缩)

看:

相关内容