阿里云服务器内存爆满卡死但 Swap占用为0

vps / 发布于2026-01-01 / 更新于2026-01-01 / 阅读 8

阿里云服务器内存爆满卡死但 Swap占用为0

给服务器添加了 2GB 的 Swap 分区,却发现系统根本不使用 Swap

查看系统的 Swap 使用倾向(swappiness):

cat /proc/sys/vm/swappiness

阿里云的值是 0 ,导致系统​极度不愿意使用 Swap

解决方案

提高系统使用 Swap 的积极性:

sudo sysctl vm.swappiness=80

该设置会立即生效,将 swappiness 调整为 80,意味着:

  • 系统在内存接近吃满前,就会开始将一部分内容换入 Swap;
  • 可以显著降低物理内存压力,减少卡死、OOM(Out of Memory)等问题。

设置后,Swap 开始正常使用,系统运行稳定顺畅。

什么是 vm.swappiness

vm.swappiness 是一个 Linux 内核参数,控制系统使用 Swap 的倾向。其取值范围是 0 到 100:

  • 0:尽量避免使用 Swap(只在极端情况下才用);
  • 100:积极使用 Swap,尽快把不活跃内存换出;
  • 默认值​:大多数发行版中为 60,但某些云服务商(如阿里云)可能设为更低。

持久化配置(可选)

上述命令只在当前运行时有效,重启后会恢复。若要永久生效:

编辑配置文件:

sudo vim /etc/sysctl.conf

添加 or 修改:

vm.swappiness=80

保存后运行:

sudo sysctl -p

即可让设置在重启后仍然生效。