在 Ubuntu 上设置 swap(交换空间) 常见有三种方式:swap 文件(推荐)、swap 分区 和 zram。下面按「最常见、最实用」的顺序给你讲,基本照着做就行。
先看看系统里有没有 swap:
swapon --show
free -h
适合:云服务器、虚拟机、桌面 Ubuntu。
sudo fallocate -l 4G /swapfile
如果 fallocate 不支持(某些文件系统),用:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show
free -h
编辑 fstab:
sudo nano /etc/fstab
添加这一行:
/swapfile none swap sw 0 0
保存退出(Ctrl+O → Enter → Ctrl+X)
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf
添加:
vm.swappiness=10
说明:
10:内存快满才用 swap(适合桌面/服务器)60:默认,偏激进1:几乎不用 swap(数据库服务器常用)sudo swapoff /swapfile
sudo rm /swapfile
并从 /etc/fstab 中删除对应行。
lsblk
sudo fdisk -l
sudo mkswap /dev/sda2
sudo swapon /dev/sda2
/dev/sda2 none swap sw 0 0
适合:内存 ≤ 8G 的笔记本 / 云服务器
sudo apt install zram-tools
Ubuntu 22.04+ 会自动配置,重启即可。
查看:
cat /proc/swaps
| 内存 | 建议 swap |
|---|---|
| ≤ 2G | 2× 内存 |
| 2–8G | 等于内存 |
| ≥ 8G | 4–8G |
| 休眠 | ≥ 内存 |
如果你愿意,可以告诉我:
我可以给你一套最适合你机器的 swap 配置方案。