swap交换文件使用
# 生成文件, btrf不支持交换文件
dd if=/dev/zero of=/nix/swapdir/swap.swap bs=1M count=2048
# 格式化文件
mkswap /nix/swapdir/swap.swap
# 使文件生效
sudo swapon /nix/swapdir/swap.swap
# 设置文件内存交换率
sudo sysctl vm.swappiness=90
cat /proc/sys/vm/swappiness
# 查看Swap使用情况
free -h
nixos配置swap文件
sudo vi /etc/nixos/hardware-configuration.nix
# 找到swapDevices
swapDevices = [
{
device = "/nix/swapdir/swap.swap";
}
];
# 其他发行版,编辑文件进行挂载
vi /etc/fstab
/nix/swapdir/swap.swap swap swap defaults 0 0
在nixos的btrfs中创建swap
# https://wiki.archlinux.org/title/Btrfs#Swap_file
cd /home
# 创建 non-snapshotted subvolume 。
sudo btrfs subvolume create swap
sudo btrfs filesystem mkswapfile --size 16g --uuid clear /home/swap/swapfile
# sudo chmod 600 ./swapfile
# sudo mkswap ./swapfile
# sudo swapon /home/swap/swapfile
# nixos配置
swapDevices = [
{
device = "/dev/nvme0n1p3";
}
{
device = "/home/swap/swapfile";
}
];