在 Ubuntu(以及大多数 Linux 发行版) 中,swapper / swap 的设置 并没有一个图形界面里的“开关”,而是通过 内核参数、系统文件和交换分区/文件 来控制的。下面按常见场景给你说明。
swapon --show
free -h
这是一个核心参数:
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10
编辑:
sudo nano /etc/sysctl.conf
添加或修改为:
vm.swappiness=10
保存后生效:
sudo sysctl -p
✅ 推荐桌面系统:10–30
✅ 服务器视内存情况而定
cat /proc/sys/vm/vfs_cache_pressure
sudo sysctl vm.vfs_cache_pressure=50
同样可写入 /etc/sysctl.conf 永久生效。
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
sudo swapoff -a
sudo swapoff -a
永久禁用:
sudo nano /etc/fstab
注释掉 swap 相关行。
| 场景 | 建议 |
|---|---|
| 桌面(8G+ 内存) | swappiness=10 |
| 桌面(4G 内存) | swappiness=30–60 |
| 服务器(数据库) | swappiness=1–10 |
| 容器/云主机 | 通常关闭 swap |
❌ “swapper 在哪里配置?”
✅ swapper 是内核行为,不能单独配置
❌ “swap 一定要开”
✅ 视内存和用途而定
如果你愿意,可以告诉我:
我可以给你一套最优 swap 配置方案。