Ostatnio aktywny 1744360515

在Linux服务器添加SWAP虚拟内存,提高服务器使用率

LiuShen's Avatar LiuShen zrewidował ten Gist 1744360515. Przejdź do rewizji

1 file changed, 78 insertions

swap.sh(stworzono plik)

@@ -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 "脚本执行完毕!"
Nowsze Starsze