ubuntu swap分区大小应按内存容量分段设置:≤4gb配4gb,4–8gb等量配置,8–64gb统一设8gb,64–256gb设16gb;桌面系统需≥内存总量以支持休眠,云服务器可禁用或仅设1–2gb,并推荐用swapfile替代分区及调低swappiness至10。

Swap分区不是越大越好,也不是固定套用一个倍数。科学配比的关键在于匹配物理内存容量、系统用途和实际负载特征,而不是机械执行“2倍”口诀。
按内存容量分段设置(最常用、最稳妥)
这是多数主流发行版安装器(如Anaconda、Ubiquity)默认参考的逻辑,兼顾桌面与通用服务器场景:
- ≤ 4GB 内存:Swap 设为 4GB(不强制2倍,避免小硬盘浪费空间)
- 4–8GB 内存:Swap 等于物理内存大小(例如 6GB 内存 → 6GB Swap)
- 8–64GB 内存:统一设为 8GB(满足休眠+突发缓冲,够用且克制)
- 64–256GB 内存:设为 16GB(高内存场景下,swap更多用于内核OOM防护而非日常交换)
按使用场景动态调整(更贴近真实需求)
同一台机器,装成桌面还是服务器,Swap策略应不同:
- 桌面系统:建议保留 4–8GB Swap,确保休眠(hibernate)功能可用(休眠需 Swap ≥ 内存总量)
- 云服务器 / 容器宿主机:可禁用 Swap 或仅设 1–2GB(Kubernetes等环境通常禁用,依赖内存QoS和驱逐策略)
- 低配设备(如树莓派、旧笔记本):内存 ≤ 2GB 时,仍可按 2 倍设(如 2GB → 4GB),缓解内存压力
-
数据库/内存密集型服务:若运行 PostgreSQL、Elasticsearch 等,可适度放大至内存的 1.2–1.5 倍,但需配合
vm.swappiness=10控制触发阈值
注意三个关键事实,避免常见误判
这些细节常被忽略,却直接影响 Swap 是否真正有用:
-
Swap 不是“内存不够”的补救,而是“内存峰值”的缓冲:现代 Linux 很少主动换出冷页,除非
swappiness被调高或内存真的快耗尽 - SSD 上可稍放宽限制,但 HDD 上应更保守:机械盘频繁 swap 会严重拖慢响应,此时宁可加内存也不靠大 Swap
- Swapfile 正逐渐替代 Swap 分区:UEFI+GPT 系统、云镜像、Live USB 等场景更倾向安装后创建 swapfile(灵活扩容、无需重分区)
真正科学的配比,是在分段基准上叠加场景判断,再结合后续监控(如 free -h、cat /proc/swaps、vmstat 1)验证是否实际被使用。没被用过的 Swap,就是白占的空间。











