liueic revised this gist . Go to revision
1 file changed, 35 insertions
addSwap.sh(file created)
| @@ -0,0 +1,35 @@ | |||
| 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 | |
Newer
Older