swap.sh(файл создан)
| @@ -0,0 +1,78 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | # ============================ | |
| 4 | + | # 创建一个 4GB 的 Swap 文件 | |
| 5 | + | # ============================ | |
| 6 | + | ||
| 7 | + | # 步骤 1:创建 4GB 的 Swap 文件 | |
| 8 | + | echo "步骤 1:创建 4GB 的 Swap 文件" | |
| 9 | + | ||
| 10 | + | # 使用 fallocate 创建一个 4GB 的 swap 文件 | |
| 11 | + | echo "创建 swap 文件..." | |
| 12 | + | sudo fallocate -l 4G /swapfile | |
| 13 | + | ||
| 14 | + | # 如果 fallocate 不可用,使用 dd 创建 swap 文件(备选方法) | |
| 15 | + | # echo "使用 dd 创建 swap 文件..." | |
| 16 | + | # sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 | |
| 17 | + | ||
| 18 | + | # 设置 swap 文件权限为 600,确保只有 root 用户可以访问 | |
| 19 | + | echo "设置文件权限为 600..." | |
| 20 | + | sudo chmod 600 /swapfile | |
| 21 | + | ||
| 22 | + | # 使用 mkswap 格式化文件为 swap 空间 | |
| 23 | + | echo "格式化为 swap 空间..." | |
| 24 | + | sudo mkswap /swapfile | |
| 25 | + | ||
| 26 | + | # 启用 swap 文件 | |
| 27 | + | echo "启用 swap 文件..." | |
| 28 | + | sudo swapon /swapfile | |
| 29 | + | ||
| 30 | + | # ============================ | |
| 31 | + | # 配置系统使 Swap 文件在重启后自动启用 | |
| 32 | + | # ============================ | |
| 33 | + | ||
| 34 | + | echo "步骤 2:配置系统使 Swap 文件在重启后自动启用" | |
| 35 | + | ||
| 36 | + | # 修改 /etc/fstab 文件,确保重启后 swap 自动启用 | |
| 37 | + | echo "修改 /etc/fstab 文件以启用 swap..." | |
| 38 | + | echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab | |
| 39 | + | ||
| 40 | + | # ============================ | |
| 41 | + | # 调整 vm.swappiness 设置 | |
| 42 | + | # ============================ | |
| 43 | + | ||
| 44 | + | echo "步骤 3:调整 vm.swappiness 设置" | |
| 45 | + | ||
| 46 | + | # 临时修改 vm.swappiness 参数 | |
| 47 | + | echo "临时修改 vm.swappiness 为 60..." | |
| 48 | + | sudo sysctl vm.swappiness=60 | |
| 49 | + | ||
| 50 | + | # 永久修改 vm.swappiness 设置,编辑 /etc/sysctl.conf | |
| 51 | + | echo "编辑 /etc/sysctl.conf 文件以永久设置 vm.swappiness..." | |
| 52 | + | echo "vm.swappiness=60" | sudo tee -a /etc/sysctl.conf | |
| 53 | + | ||
| 54 | + | # 使配置生效 | |
| 55 | + | echo "使配置生效..." | |
| 56 | + | sudo sysctl -p | |
| 57 | + | ||
| 58 | + | # ============================ | |
| 59 | + | # 验证 Swap 文件是否启用 | |
| 60 | + | # ============================ | |
| 61 | + | ||
| 62 | + | echo "步骤 4:验证 Swap 文件是否启用" | |
| 63 | + | ||
| 64 | + | # 使用 free 命令查看系统内存和 swap 状态 | |
| 65 | + | echo "查看当前内存和 swap 状态..." | |
| 66 | + | free -h | |
| 67 | + | ||
| 68 | + | # ============================ | |
| 69 | + | # 检查 Swap 状态 | |
| 70 | + | # ============================ | |
| 71 | + | ||
| 72 | + | echo "步骤 5:检查 Swap 状态" | |
| 73 | + | ||
| 74 | + | # 使用 swapon --show 查看当前启用的 swap 文件 | |
| 75 | + | echo "显示当前启用的 swap 文件..." | |
| 76 | + | swapon --show | |
| 77 | + | ||
| 78 | + | echo "脚本执行完毕!" | |
Новее
Позже