Debian 交换空间的远程管理实践
总体思路
远程操作方式与基础命令
一键远程脚本示例
#!/usr/bin/env bash
set -Eeuo pipefail
SWAPFILE="/swapfile"
SIZE="2G"
SWAPPINESS=10
echo "[INFO] 创建交换文件 $SWAPFILE 大小 $SIZE"
sudo fallocate -l "$SIZE" "$SWAPFILE" || { echo "[ERROR] 创建失败"; exit 1; }
echo "[INFO] 设置权限 600"
sudo chmod 600 "$SWAPFILE"
echo "[INFO] 格式化为 swap"
sudo mkswap "$SWAPFILE"
echo "[INFO] 启用 swap"
sudo swapon "$SWAPFILE"
echo "[INFO] 写入 /etc/fstab 持久化"
grep -qxF "$SWAPFILE none swap sw 0 0" /etc/fstab || echo "$SWAPFILE none swap sw 0 0" | sudo tee -a /etc/fstab
echo "[INFO] 设置 vm.swappiness=$SWAPPINESS"
echo "vm.swappiness=$SWAPPINESS" | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl --system >/dev/null
echo "[INFO] 当前状态:"
free -h | grep -i swap
swapon --show
sudo swapoff /swapfile
sudo sed -i '\|/swapfile none swap sw 0 0|d' /etc/fstab
sudo rm -f /swapfile
sudo rm -f /etc/sysctl.d/99-swappiness.conf
sudo sysctl --system
可视化与告警方案