温馨提示×

CentOS Swap如何永久开启

小樊
42
2026-07-08 01:38:39
栏目: 智能运维

在 CentOS 系统中,**永久开启 Swap(交换分区/交换文件)**通常有两种方式:
Swap 分区(推荐用于新装系统)
Swap 文件(推荐用于已有系统,无需重新分区)

下面分别说明,并重点讲解永久生效的方法。


一、使用 Swap 文件(最常用,推荐)

1️⃣ 创建 Swap 文件(例如 2G)

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

或(更快):

sudo fallocate -l 2G /swapfile

2️⃣ 设置权限(必须)

sudo chmod 600 /swapfile

3️⃣ 格式化为 Swap

sudo mkswap /swapfile

4️⃣ 立即启用 Swap

sudo swapon /swapfile

5️⃣ 验证是否成功

free -h
swapon -s

✅ 6️⃣ 永久生效(关键步骤)

编辑 /etc/fstab

sudo vi /etc/fstab

在末尾添加:

/swapfile swap swap defaults 0 0

保存后验证:

sudo mount -a

✅ 重启后 Swap 仍然存在。


二、使用独立 Swap 分区(已有分区)

1️⃣ 查看磁盘和分区

lsblk
fdisk -l

假设 Swap 分区是 /dev/sda2

2️⃣ 格式化为 Swap(⚠️ 会清空数据)

sudo mkswap /dev/sda2

3️⃣ 启用

sudo swapon /dev/sda2

4️⃣ 永久生效

sudo vi /etc/fstab

添加:

/dev/sda2 swap swap defaults 0 0

三、调整 Swap 使用策略(可选)

查看当前策略:

cat /proc/sys/vm/swappiness

临时修改(重启失效):

sudo sysctl vm.swappiness=10

永久修改:

sudo vi /etc/sysctl.conf

添加或修改:

vm.swappiness = 10

生效:

sudo sysctl -p

✅ 数值越小,越优先使用物理内存(推荐服务器设为 10)


四、关闭 Swap(如需)

临时关闭:

sudo swapoff -a

永久关闭:

sudo vi /etc/fstab

删除 Swap 相关行即可。


五、常见问题

❓ Swap 已启用但重启后消失?

✅ 没写 /etc/fstab

❓ fallocate 创建失败?

某些文件系统(如 XFS)不支持,建议用 dd

❓ Swap 不生效?

swapon -s
free -h

✅ 总结(最快方法)

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

如果你告诉我 CentOS 7 / 8 / Stream / 磁盘情况,我可以给你一条完全匹配你服务器的命令。

0