addSwap.sh
· 765 B · Bash
Raw
#!/bin/bash
# 检查是否是 root 用户
if [ "$EUID" -ne 0 ]; then
echo "请使用 root 权限运行此脚本"
exit 1
fi
# 设置 swap 大小(单位:G)
SWAP_SIZE=2
# 创建 swap 文件
echo "正在创建 ${SWAP_SIZE}G 的 swap 文件..."
fallocate -l ${SWAP_SIZE}G /swapfile || dd if=/dev/zero of=/swapfile bs=1M count=$((SWAP_SIZE * 1024))
# 设置权限
chmod 600 /swapfile
# 格式化为 swap
mkswap /swapfile
# 启用 swap
swapon /swapfile
# 添加到 /etc/fstab 实现开机自动挂载
grep -q '^/swapfile' /etc/fstab || echo '/swapfile none swap sw 0 0' >> /etc/fstab
# 优化 swap 策略
echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p
# 显示结果
echo "Swap 已成功添加。当前 swap 信息如下:"
swapon --show
free -h
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 检查是否是 root 用户 |
| 4 | if [ "$EUID" -ne 0 ]; then |
| 5 | echo "请使用 root 权限运行此脚本" |
| 6 | exit 1 |
| 7 | fi |
| 8 | |
| 9 | # 设置 swap 大小(单位:G) |
| 10 | SWAP_SIZE=2 |
| 11 | |
| 12 | # 创建 swap 文件 |
| 13 | echo "正在创建 ${SWAP_SIZE}G 的 swap 文件..." |
| 14 | fallocate -l ${SWAP_SIZE}G /swapfile || dd if=/dev/zero of=/swapfile bs=1M count=$((SWAP_SIZE * 1024)) |
| 15 | |
| 16 | # 设置权限 |
| 17 | chmod 600 /swapfile |
| 18 | |
| 19 | # 格式化为 swap |
| 20 | mkswap /swapfile |
| 21 | |
| 22 | # 启用 swap |
| 23 | swapon /swapfile |
| 24 | |
| 25 | # 添加到 /etc/fstab 实现开机自动挂载 |
| 26 | grep -q '^/swapfile' /etc/fstab || echo '/swapfile none swap sw 0 0' >> /etc/fstab |
| 27 | |
| 28 | # 优化 swap 策略 |
| 29 | echo 'vm.swappiness=10' >> /etc/sysctl.conf |
| 30 | sysctl -p |
| 31 | |
| 32 | # 显示结果 |
| 33 | echo "Swap 已成功添加。当前 swap 信息如下:" |
| 34 | swapon --show |
| 35 | free -h |