调整 swap(交换空间)大小在 Linux 系统中比较常见,一般有三种情况:新增 swap、扩大 swap、缩小或删除 swap。下面按常见场景给你一个完整、可操作的说明(以 Linux 为例,Ubuntu / CentOS / Debian 通用)。
free -h
swapon --show
sudo fallocate -l 4G /swapfile
如果 fallocate 不可用:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
✅ 适合:云服务器、虚拟机、临时扩容
sudo swapoff /swapfile
sudo rm /swapfile
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo fallocate -l 4G /swapfile2
sudo chmod 600 /swapfile2
sudo mkswap /swapfile2
sudo swapon /swapfile2
查看:
swapon --show
⚠️ 不建议同时用多个 swap 分区,除非有特殊需求。
一般不建议直接缩小 swap,正确做法是:
sudo swapoff /swapfile
sudo rm /swapfile
sudo sed -i '/\/swapfile/d' /etc/fstab
查看:
cat /proc/sys/vm/swappiness
临时修改:
sudo sysctl vm.swappiness=10
永久修改:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
推荐值:
| 内存大小 | 建议 swap |
|---|---|
| ≤ 2G | 2 × 内存 |
| 2–8G | 等于内存 |
| 8–64G | 0.5 × 内存 |
| ≥ 64G | 4–8G(或不用) |
chmod 600如果你告诉我:
我可以给你精确到命令级别的方案。