Btrfs文件系统启用交换文件(swap)
可以解决btrfs作为根分区文件系统时,swapon提示无效参数的问题
系统环境:mint 20.1
btrfs文件系统从5.0内核开始支持交换文件,但是有一些限制:
- 不支持在快照卷上配置交换文件,建议单独创建子卷;
- 不支持在跨越多个物理设备的卷上创建交换文件;
# 创建swap子卷
te@EY-B:/$ sudo btrfs subvolume create swap
Create subvolume './swap'
# 在swap子卷下创建一个0 byte大小的交换文件
te@EY-B:/swap$ sudo truncate -s 0 /swap/swapfile
# 配置交换文件权限
te@EY-B:/swap$ sudo chmod 600 /swap/swapfile
# 配置交换文件属性,具有'C'属性集的文件将不受 copy-on-write 的约束。
# 注意:对于btrfs,“C”标志应该是设置新的或空文件。
te@EY-B:/swap$ sudo chattr +C /swap/swapfile
# 配置btrfs禁止压缩交换文件
te@EY-B:/swap$ sudo btrfs property set /swap/swapfile compression none
# 将交换文件填充至需要的大小
te@EY-B:/swap$ sudo dd if=/dev/zero of=/swap/swapfile bs=1M count=2048
记录了2048+0 的读入
记录了2048+0 的写出
2147483648字节(2.1 GB,2.0 GiB)已复制,4.62272 s,465 MB/s
# 格式化交换文件
te@EY-B:/swap$ sudo mkswap /swap/swapfile
正在设置交换空间版本 1,大小 = 2 GiB (2147479552 个字节)
无标签, UUID=b2a8512a-109b-499d-8b4f-96c137f6ca20
# 启用交换文件
te@EY-B:/swap$ sudo swapon /swap/swapfile
编辑 /etc/fstab 自动挂载,添加或编辑以下行:
/swap/swapfile none swap sw 0 0
转自:https://zhuanlan.zhihu.com/p/355986059