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