我已经在 /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,不压缩)
看: