温馨提示×

CentOS Swap如何配置生效

小樊
34
2026-07-08 01:42:37
栏目: 智能运维

下面以 CentOS 7/8/Stream 为例,系统说明 Swap 的配置与生效方式,从创建、启用到开机自动挂载,以及常见注意事项。


一、查看当前 Swap 状态

free -h
swapon -s

二、创建 Swap(常见两种方式)

✅ 方式一:使用独立 Swap 分区(推荐服务器)

前提:已有未使用的磁盘分区(如 /dev/sdb1

  1. 格式化为 swap
mkswap /dev/sdb1
  1. 启用 swap
swapon /dev/sdb1
  1. 开机自动挂载
vim /etc/fstab

添加:

/dev/sdb1 swap swap defaults 0 0

✅ 方式二:使用 Swap 文件(最常用)

适合云服务器、虚拟机

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

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

或(更快):

fallocate -l 4G /swapfile

2️⃣ 设置权限(非常重要)

chmod 600 /swapfile

3️⃣ 格式化为 swap

mkswap /swapfile

4️⃣ 启用 swap

swapon /swapfile

5️⃣ 开机自动生效

vim /etc/fstab

添加:

/swapfile swap swap defaults 0 0

三、验证 Swap 是否生效

free -h
swapon -s

示例输出:

Swap:
Filename    Type      Size   Used   Priority
/swapfile   file      4G     0B     -2

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

查看 swappiness(默认 30)

cat /proc/sys/vm/swappiness

临时修改

sysctl vm.swappiness=10

永久生效

vim /etc/sysctl.conf

添加:

vm.swappiness=10

值说明:

  • 0:尽量不用 swap
  • 10~30:推荐服务器
  • 60:默认值(偏桌面)

五、关闭 / 删除 Swap(慎用)

临时关闭

swapoff /swapfile

永久删除

  1. 卸载
swapoff /swapfile
  1. 删除 fstab 配置
vim /etc/fstab
# 删除 swap 相关行
  1. 删除文件
rm -f /swapfile

六、常见错误排查

❌ swapon 失败:权限不对

chmod 600 /swapfile

❌ fallocate 在某些文件系统不兼容

改用:

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

❌ 云服务器 Swap 不生效

  • 检查 /etc/fstab 是否写错
  • 是否启用了 selinux
setenforce 0

七、推荐配置(生产环境)

内存 Swap 大小
≤ 2G 2 倍内存
2–8G 等于内存
≥ 8G 4–8G

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

  • ✅ CentOS 版本
  • ✅ 是物理机 / 云服务器
  • ✅ 是否已有 swap 分区

我可以给你 精确的一步到位命令

0