Debian 手动创建 Swap 文件

Swap 可在内存不足时提供磁盘缓冲,但速度远低于 RAM。以下命令需使用 root,示例创建 1 GB Swap。

检查状态

bash
swapon --show
free -h

创建并启用

bash
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

fallocate 创建的文件无法启用,改用:

bash
dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

swapon --show 确认。

设置开机启用

确认没有重复配置后,再追加到 /etc/fstab

bash
echo '/swapfile none swap sw 0 0' >> /etc/fstab
findmnt --verify

调整 Swappiness

服务器可按负载将默认值 60 调低到 10

bash
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf
sysctl --system
sysctl vm.swappiness

长期频繁使用 Swap,通常说明内存不足,应优先优化应用或增加 RAM。

删除

bash
swapoff /swapfile
# 从 /etc/fstab 删除对应行
rm -f /swapfile
swapon --show
free -h

激活失败时,检查文件权限是否为 600;必要时改用 dd,并查看 dmesg | tail -n 30