温馨提示×

centos swap不够怎么办

小樊
42
2026-09-17 22:25:10
栏目: 智能运维

在 CentOS 中如果遇到 swap 空间不足,可以通过新增 swap 文件扩展已有 swap 分区来解决。最常用、最安全的方式是创建 swap 文件


一、先查看当前 swap 情况

free -h
swapon -s

二、创建 swap 文件(推荐做法)

1️⃣ 创建 swap 文件(例如 4G)

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

4096 = 4GB,可按需调整(如 2048=2G)

2️⃣ 设置权限

sudo chmod 600 /swapfile

3️⃣ 格式化为 swap

sudo mkswap /swapfile

4️⃣ 启用 swap

sudo swapon /swapfile

5️⃣ 验证

free -h
swapon -s

三、开机自动挂载 swap

编辑 /etc/fstab

sudo vi /etc/fstab

添加一行:

/swapfile swap swap defaults 0 0

四、调整 swap 使用策略(可选)

查看当前值:

cat /proc/sys/vm/swappiness

临时修改(如设为 10):

sudo sysctl vm.swappiness=10

永久生效:

echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

五、如果已有 swap 分区但太小(进阶)

⚠️ 有风险,建议备份数据

  • 使用 fdisk / parted 调整分区
  • 或删除旧 swap,新建更大 swap 分区
  • 更新 /etc/fstab

六、释放 swap(不用重启)

sudo swapoff -a
sudo swapon -a

确保物理内存足够,否则会 OOM


七、什么时候需要加 swap?

  • 内存经常跑满
  • 使用休眠(hibernate)
  • 运行 Java / MySQL / Docker 等易吃内存服务
  • 云服务器(如 1C1G / 2G)

如果你愿意,可以告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 当前内存 & swap 大小
  • 是物理机还是云服务器

我可以给你更精确的方案。

0