温馨提示×

如何制作CentOS Swap交换区

小樊
43
2026-07-19 09:45:25
栏目: 智能运维

在 CentOS 上制作 Swap(交换区)通常有 两种方式

  1. 使用独立的 swap 分区(推荐用于新装系统)
  2. 使用 swap 文件(推荐用于已有系统,方便快捷)

下面重点介绍 swap 文件方式(最常用),然后简单说明 swap 分区方式。


一、使用 swap 文件创建 swap(推荐)

1️⃣ 检查当前 swap 情况

free -h
swapon -s

如果没有任何输出,说明当前没有 swap。


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

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

或(更快):

sudo fallocate -l 4G /swapfile

如果 fallocate 失败(某些文件系统不支持),用 dd


3️⃣ 设置正确的权限(非常重要)

sudo chmod 600 /swapfile

4️⃣ 格式化为 swap

sudo mkswap /swapfile

5️⃣ 启用 swap

sudo swapon /swapfile

验证:

free -h

6️⃣ 设置开机自动挂载

编辑 /etc/fstab

sudo vi /etc/fstab

添加一行:

/swapfile swap swap defaults 0 0

保存后验证:

sudo mount -a

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

查看 swappiness(默认 30)

cat /proc/sys/vm/swappiness

临时修改

sudo sysctl vm.swappiness=10

永久修改

sudo vi /etc/sysctl.conf

添加:

vm.swappiness=10

值越小,系统越倾向于使用物理内存


三、关闭或删除 swap(如需)

关闭 swap

sudo swapoff /swapfile

删除 swap 文件

sudo rm -f /swapfile

并从 /etc/fstab 中删除对应行。


四、使用 swap 分区(简要说明)

适用于 新装系统或磁盘有空闲分区

fdisk /dev/sdb   # 创建分区,类型设为 82
mkswap /dev/sdb1
swapon /dev/sdb1

/etc/fstab 添加:

/dev/sdb1 swap swap defaults 0 0

五、推荐 swap 大小(参考)

内存大小 推荐 swap
≤ 2G 2 × 内存
2G–8G 等于内存
8G–64G 0.5–1 × 内存
> 64G 通常不需要

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

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

我可以给你一套 最适合你服务器的 swap 配置方案

0