在 CentOS 上调 swap 大小,常见有 三种情况:
1️⃣ 新增 swap
2️⃣ 扩大已有 swap
3️⃣ 缩小 / 删除 swap
下面按 CentOS 7 / 8 / Stream 通用方式说明(含命令示例)。
free -h
swapon -s
lsblk
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
或(更快)
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
✅ 完成后验证:
free -h
swapon -s
sudo swapoff /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
或
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
fdisk /dev/sdb
mkswap /dev/sdb1
swapon /dev/sdb1
echo '/dev/sdb1 none swap sw 0 0' >> /etc/fstab
sudo swapoff /swapfile
sudo rm -f /swapfile
sudo sed -i '/swapfile/d' /etc/fstab
swapoff /dev/sdb1
然后删除分区并清理 /etc/fstab
| 内存 | 建议 swap |
|---|---|
| ≤ 2G | 内存的 2 倍 |
| 2–8G | 等于内存 |
| ≥ 8G | 4G–8G |
| 休眠 | ≥ 内存 |
cat /proc/sys/vm/swappiness
临时修改:
sysctl vm.swappiness=10
永久:
echo 'vm.swappiness=10' >> /etc/sysctl.conf
如果你愿意,可以告诉我:
✅ CentOS 版本
✅ 是物理机 / 云服务器
✅ 当前内存 & swap 情况
我可以给你一套 最合适的具体方案。