温馨提示×

centos swap怎么设置

小樊
40
2026-08-03 05:20:22
栏目: 智能运维

下面以 CentOS 7 / CentOS 8 / Rocky / Alma(通用) 为例,说明 swap 的设置方法,包括新增 swap 分区swap 文件两种方式。


一、查看当前 swap 状态

free -h
swapon -s
lsblk

二、方式一:使用 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️⃣ 设置开机自动挂载

echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

6️⃣ 验证

free -h
swapon -s

三、方式二:使用独立 swap 分区(适合新装系统)

1️⃣ 查看磁盘

lsblk
fdisk -l

2️⃣ 新建分区(假设是 /dev/sdb)

fdisk /dev/sdb
  • n 新建分区
  • t → 选择 82(Linux swap)
  • w 保存

3️⃣ 格式化

mkswap /dev/sdb1

4️⃣ 启用

swapon /dev/sdb1

5️⃣ 写入 fstab

echo '/dev/sdb1 swap swap defaults 0 0' >> /etc/fstab

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

查看 swappiness(默认 30)

cat /proc/sys/vm/swappiness

临时修改

sysctl vm.swappiness=10

永久修改

echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p

建议:

  • 物理内存 ≥ 8G:swappiness = 10
  • 小内存服务器:swappiness = 30~60

五、关闭 swap(不推荐生产环境随意操作)

swapoff -a

⚠️ 如果内存不足,可能导致 OOM


六、swap 大小建议

内存大小 建议 swap
≤ 2G 2 × 内存
2–8G 等于内存
≥ 8G 4G~8G

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

  • ✅ CentOS 版本
  • ✅ 是云服务器还是物理机
  • ✅ 内存多大

我可以给你最合适的 swap 配置方案

0