写了一个一键添加1G Swap并固化的Shell脚本。
你可以直接复制运行👇:
swap_setup.sh
#!/bin/bash
# 检查当前Swap状态
echo "当前内存和Swap情况:"
free -h
# 设置Swap文件路径和大小
SWAP_FILE="/swapfile"
SWAP_SIZE="1G"
# 创建Swap文件
echo "创建 $SWAP_SIZE Swap 文件..."
sudo fallocate -l $SWAP_SIZE $SWAP_FILE 2>/dev/null || sudo dd if=/dev/zero of=$SWAP_FILE bs=1M count=1024
# 设置权限
echo "设置Swap文件权限..."
sudo chmod 600 $SWAP_FILE
# 格式化为Swap格式
echo "格式化Swap文件..."
sudo mkswap $SWAP_FILE
# 启用Swap
echo "启用Swap..."
sudo swapon $SWAP_FILE
# 验证Swap是否已启用
echo "确认Swap是否生效:"
free -h
# 添加到fstab让Swap持久化
echo "固化Swap到/etc/fstab..."
if ! grep -q "$SWAP_FILE" /etc/fstab; then
echo "$SWAP_FILE none swap sw 0 0" | sudo tee -a /etc/fstab
fi
# 调整swappiness策略(推荐10,让系统优先用物理内存)
echo "设置swappiness为10..."
sudo sysctl vm.swappiness=10
if ! grep -q "vm.swappiness" /etc/sysctl.conf; then
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
fi
# 最终检查
echo "最终确认Swap设置:"
swapon --show
free -h
echo "✅ Swap设置完成!当前Swap大小为 $SWAP_SIZE"
使用方法:
- 创建脚本文件:
nano swap_setup.sh
- 粘贴上面的代码并保存(Ctrl + X -> Y -> Enter)
- 给脚本加执行权限:
chmod +x swap_setup.sh
- 运行脚本:
sudo ./swap_setup.sh
✅ 执行完毕后会:
- 检查当前Swap情况
- 创建1G的Swap文件并格式化
- 启用Swap并持久化到
/etc/fstab
- 调整
swappiness
为10 - 最终检查是否生效
如果你想调整Swap大小,可以改这行:
SWAP_SIZE="1G"
比如改成2G:
SWAP_SIZE="2G"