Linux 安装 Swap 交换分区大小标准(通用 + 生产服务器 + 个人 PC)

Linux 安装 Swap 交换分区大小标准(通用 + 生产服务器 + 个人 PC)

Swap 是硬盘虚拟内存,物理内存不够时把内存数据临时存到 Swap,SSD 服务器不建议过大 Swap,机械硬盘可适当放大,分四类场景给出标准方案。

一、通用官方推荐规则(红帽 RHEL、Debian/Ubuntu 通用)

1. 桌面 / 个人电脑(笔记本、台式机,会休眠)

休眠功能需要 Swap ≥ 物理内存,才能完整保存内存到硬盘实现关机休眠

表格

物理内存 RAM Swap 分区推荐大小 备注
≤2GB RAM × 2 2G 内存配 4G Swap
2GB~8GB RAM × 1.5 4G 内存配 6G Swap,8G 配 12G
8GB~16GB 等于 RAM 大小 16G 内存配 16G Swap
>16GB 8GB~16GB 32G/64G 内存无需超大 Swap,8G 足够,要休眠则等于内存

2. 服务器(生产环境,关闭休眠,无桌面

服务器几乎不用休眠,仅作内存缓冲、OOM 兜底,SSD 环境优先小 Swap:

  1. RAM ≤4G:Swap = 4G
  2. 4G < RAM ≤16G:Swap = RAM
  3. 16G < RAM ≤64G:Swap = 16G
  4. RAM >64G:Swap = 8G~16G

高性能数据库、缓存服务(Redis、MySQL):Swap 建议 8G 以内,频繁使用 Swap 会严重拖慢性能。

3. 特殊场景:内存极小老机器(1G 及以下)

直接设置 Swap = RAM × 2,否则系统极易卡死。

二、现代云服务器 / SSD 优化建议(重点)

SSD 读写速度远快于机械盘,但Swap 频繁交换依然会大幅降性能

  1. 云主机 32G/64G/128G 大内存:Swap 8G 足矣,甚至可以不分 Swap,靠调整vm.swappiness控制使用频率;
  2. 数据库、AI 算力服务器(昇腾、GPU 服务器):最小化 Swap(8G),业务尽量全部跑物理内存;
  3. 机械硬盘(HDD)服务器:Swap 按标准上限分配,HDD 交换延迟极高,避免业务触发 Swap。

三、swappiness 参数配套优化(分区大小配完必调)

vm.swappiness 取值 0~100,控制内核多积极使用 Swap:

  • 服务器(数据库 / 业务):vm.swappiness=10,内存快耗尽才用 Swap
  • 个人桌面电脑:vm.swappiness=60,平衡内存缓存与 Swap
  • 高性能算力 / 缓存服务:vm.swappiness=0(优先不碰 Swap)

临时生效:

复制代码
sysctl vm.swappiness=10

永久生效编辑 /etc/sysctl.conf 添加:

复制代码
vm.swappiness = 10

四、两种 Swap 实现方式对比

1. Swap 分区(安装系统时划分,推荐服务器)

  • 独立分区,性能稳定,适合装机阶段规划;
  • 缺点:装机时分配死,后期扩容麻烦。

2. Swap 文件(装机没分够后期扩容用)

无需重装系统,随时增减大小,云主机常用:

复制代码
# 创建8G交换文件示例
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# 写入/etc/fstab开机自动挂载
/swapfile swap swap defaults 0 0

五、避坑要点

  1. 不要分配超大 Swap(比如 64G 内存分 64G Swap):一旦触发交换,业务卡顿严重;
  2. NVMe SSD 不要上百 G Swap,浪费磁盘空间;
  3. 若机器永不休眠,不需要 Swap 等于内存;
  4. 内存≥128G 的超大型服务器,可直接不分 Swap,依靠监控预警内存溢出。

快速总结极简分配口诀

  • 家用要休眠:小内存翻倍,大内存等于内存,32G 以上 16G 封顶
  • 线上服务器不休眠:4G 内 4G,4-64G 等于内存,64G 以上统一 8~16G
  • SSD 大内存算力机:8G Swap 足够,调低 swappiness 减少交换
相关推荐
码云骑士15 分钟前
110-多模型热切换-API网关-LiteLLM代理-负载均衡故障转移
运维·python·负载均衡
blueSatchel18 分钟前
u-boot启动过程(bootROM到SPL到u-boot)
linux·u-boot
祖力5543 分钟前
快速学会数据结构中的链式队列与循环队列
linux·c语言·数据结构·算法
原凉是这样的丶1 小时前
Qwen3.8-27B 开源后,我用双 RTX 4090 跑通了:vLLM 0.27.1、128K 上下文与 MTP 实测
linux·算法
QuartusII71 小时前
sw202X安装教程
运维·windows
菜是原罪1 小时前
ECS CPU 100% 故障排查与安全事件复盘报告
运维·服务器·网络安全
qq_2153978971 小时前
docker镜像打包
运维·docker·容器
12.=0.2 小时前
【REVIEW_C】【持续更新】
服务器·前端·javascript
SL-staff2 小时前
AB测试数据失真根因与变量热替换实战:JVS-Rules函数计算器架构解析
java·运维·微服务·函数式编程·规则引擎·变量管理·营销技术