优化 Ubuntu 的 Swap(交换空间)可以从减少不必要的 swap 使用、提升 swap 性能、合理配置 swap 大小三个方面入手。下面按实用程度给你一套完整方案。
swapon --show
free -h
swappiness 决定系统使用 swap 的倾向,默认是 60(偏激进)。
cat /proc/sys/vm/swappiness
| 使用场景 | swappiness |
|---|---|
| 大内存服务器 | 10 |
| 桌面 / 开发机 | 10–30 |
| 内存紧张的小机 | 30–60 |
sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf
添加:
vm.swappiness=10
生效:
sudo sysctl -p
✅ 对性能提升最明显
vm.vfs_cache_pressure=50
默认是 100,降低可减少 inode/dentry 缓存被回收。
| 内存 | Swap |
|---|---|
| ≤ 2GB | 2×内存 |
| 2–8GB | 1×内存 |
| 8–64GB | 4–8GB |
| ≥ 64GB | 2–4GB(或关闭) |
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
适合内存 ≤ 16GB 的机器。
sudo apt install zram-tools
编辑配置:
sudo nano /etc/default/zramswap
示例:
ALGO=lz4
PERCENT=50
PRIORITY=100
启动:
sudo systemctl enable --now zramswap
✅ 比传统 swap 快很多
sudo swapon --priority 10 /swapfile
sudo swapoff -a
⚠️ 不建议长期关闭,OOM 风险高
vmstat 1
关注 si/so:
✅ 桌面 / 开发机
✅ 服务器
如果你愿意,可以告诉我:
我可以给你精确到参数的定制方案。