温馨提示×

centos swap大小怎么调

小樊
37
2026-08-03 05:33:25
栏目: 智能运维

CentOS 上调 swap 大小,常见有 三种情况
1️⃣ 新增 swap
2️⃣ 扩大已有 swap
3️⃣ 缩小 / 删除 swap

下面按 CentOS 7 / 8 / Stream 通用方式说明(含命令示例)。


一、查看当前 swap 情况

free -h
swapon -s
lsblk

二、新增 swap(推荐方式:swap 文件)

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

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

或(更快)

sudo fallocate -l 4G /swapfile

2️⃣ 设置权限(必须)

sudo chmod 600 /swapfile

3️⃣ 格式化为 swap

sudo mkswap /swapfile

4️⃣ 启用 swap

sudo swapon /swapfile

5️⃣ 写入 fstab(开机自动挂载)

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

✅ 完成后验证:

free -h
swapon -s

三、扩大已有 swap(swap 文件方式)

1️⃣ 关闭 swap

sudo swapoff /swapfile

2️⃣ 增大文件(例如从 4G → 8G)

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

sudo fallocate -l 8G /swapfile

3️⃣ 重新设置权限

sudo chmod 600 /swapfile

4️⃣ 重新格式化并启用

sudo mkswap /swapfile
sudo swapon /swapfile

四、使用独立 swap 分区(如 /dev/sdb1)

1️⃣ 创建 swap 分区(fdisk / parted)

fdisk /dev/sdb
  • n → 新建
  • t → 82(Linux swap)

2️⃣ 格式化

mkswap /dev/sdb1

3️⃣ 启用

swapon /dev/sdb1

4️⃣ 写入 fstab

echo '/dev/sdb1 none swap sw 0 0' >> /etc/fstab

五、缩小或删除 swap

删除 swap 文件

sudo swapoff /swapfile
sudo rm -f /swapfile
sudo sed -i '/swapfile/d' /etc/fstab

删除 swap 分区

swapoff /dev/sdb1

然后删除分区并清理 /etc/fstab


六、swap 大小建议(经验值)

内存 建议 swap
≤ 2G 内存的 2 倍
2–8G 等于内存
≥ 8G 4G–8G
休眠 ≥ 内存

七、swap 优化(可选)

cat /proc/sys/vm/swappiness

临时修改:

sysctl vm.swappiness=10

永久:

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

如果你愿意,可以告诉我:
CentOS 版本
是物理机 / 云服务器
当前内存 & swap 情况

我可以给你一套 最合适的具体方案

0