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 |