1.查看内存使用情况
free -h
这样可以了解物理内存和 Swap 的使用状况。如果内存充裕(可用 > 2GB),那么当前缓冲池完全合适;如果内存紧张,可考虑降低其他服务的内存占用。
**2.**即使内存当前充裕,但 Swap 是系统稳定的最后一道防线 。它可以防止因瞬时内存分配峰值导致的进程被杀死。建议2048GB执行:
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
3.配置后,设置 vm.swappiness = 10,让系统只在内存极度紧张时使用 Swap
sysctl vm.swappiness=10
或者下面的代码
4. 验证**vm.swappiness = 10**** **有没有设置成功?
sysctl vm.swappiness
输出 vm.swappiness = 10 即为成功。
**5.**如果上面不行 用下面的方法
第一步:创建独立配置文件(优先级最高,不受锁定影响)
echo "vm.swappiness = 10" > /etc/sysctl.d/99-my-swappiness.conf
sysctl -p /etc/sysctl.d/99-my-swappiness.conf
第二三步:验证
此时应该输出 vm.swappiness = 10
echo "vm.swappiness = 10" >> /etc/sysctl.conf
sysctl -p
验证方法:
✅ 验证步骤
1️⃣ 检查当前生效值
sysctl vm.swappiness
-
如果输出
vm.swappiness = 10,说明当前内核已采纳该值。 -
如果输出不是
10,说明设置未生效,需重新执行sysctl -w或排查冲突。
✅ 验证永久化
grep -r "vm.swappiness" /etc/sysctl.conf /etc/sysctl.d/*.conf 2>/dev/null
你会看到类似这样的输出:
/etc/sysctl.conf:vm.swappiness = 10
/etc/sysctl.d/99-swappiness.conf:vm.swappiness = 10
-
如果有输出,说明配置已写入文件,重启后会自动加载。
-
如果无输出 ,说明只用了
sysctl -w临时设置,重启会丢失,需按之前方法写入文件。