通过 Swap 提升 Ubuntu 运行速度的正确做法
一 核心原理与取舍
二 快速检查与监控
sudo swapon --show 或 free -h。cat /proc/sys/vm/swappiness。vmstat 1、iostat -x 1、top/htop。这些能帮助你判断是“内存不足导致频繁换页”,还是“Swap 设备本身太慢”。三 优化步骤
sudo sysctl vm.swappiness=10(示例值,可按硬件与体验微调)。/etc/sysctl.conf,加入或修改为 vm.swappiness=10,保存后执行 sudo sysctl -p 或重启。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
四 场景化建议
| 场景 | 优化要点 |
|---|---|
| 内存充足(如 ≥8GB,日常办公/浏览) | 将 vm.swappiness 设为 10–20,启用 zram,一般无需大容量磁盘 Swap,避免不必要的换出。 |
| 内存紧张(如 4–8GB,多标签浏览/轻度开发) | swappiness 20–30;启用 zram;如仍出现卡顿,增加 2–4GB 的磁盘 Swap(优先 SSD)。 |
| 编译/虚拟化/大内存任务 | 适度增大磁盘 Swap(如 4–8GB 起,视项目而定),结合 zram;确保 Swap 在 SSD;必要时考虑增加物理内存。 |
五 常见误区与排错
free -h、swapon --show 确认 Swap 已启用且大小合理;vmstat 1、iostat -x 1 观察是否存在持续高换页(si/so 或 await 偏高);