本文最后更新于:2025年4月19日 晚上
Spaw 空间可以理解为 Ubuntu 的虚拟内存,本文简要介绍并记录扩展方法。
简介
Ubuntu Swap 是内存管理的重要补充机制,可以将硬盘临时当作内存使用。
核心作用
-
扩展可用内存
当物理内存(RAM)不足时,系统会将非活跃数据临时转移至 Swap 空间,释放 RAM 供高优先级任务使用。例如,当运行内存密集型应用(如视频渲染)时,系统可通过 Swap 避免进程崩溃。
-
提升系统稳定性
Swap 能防止因内存耗尽导致的系统冻结或程序无响应,尤其适用于多用户或多任务场景。通过平衡内存负载,Swap 可维持系统在资源紧张时的基本运行能力。 -
支持休眠功能
Ubuntu 的休眠(Hibernation)功能依赖 Swap 空间,系统会将当前内存状态完整保存到 Swap 中,并在唤醒时恢复。
实现形式
- Swap 分区
- 通过磁盘分区实现,具有固定容量和独立存储空间。
- 适用于长期稳定需求的场景,但调整容量需重新分区。
- Swap 文件
- 在现有文件系统中创建指定大小的文件作为虚拟内存,例如
/swapfile
。 - 灵活性更高,支持动态调整容量(如
fallocate
或dd
命令创建),管理成本更低。
- 在现有文件系统中创建指定大小的文件作为虚拟内存,例如
工作机制
- 内存管理策略:通过
swappiness
参数(默认值 60)控制系统使用 Swap 的倾向性。数值越高,系统越早启用 Swap。 - 数据交换流程:内核将长时间未使用的内存页标记为“非活跃”,逐步迁移至 Swap 空间,并通过 LRU(最近最少使用)算法优化数据保留优先级。
局限性
- 性能差异:Swap 本质是磁盘存储,访问速度远低于物理内存(HDD 延迟约 5ms,SSD 约 0.1ms,RAM 仅约 0.1μs)。
- 配置原则:Swap 不能替代物理内存,仅作为临时扩展手段。建议根据工作负载配置 RAM 与 Swap 的合理比例(如开发环境推荐 Swap ≥ 物理内存的 50%)。
扩展 Swap
通过 创建 Swap 文件 扩展 Ubuntu 系统的虚拟内存,核心流程如下:
1. 权限验证
- 检查是否以
root
执行,避免权限不足导致关键操作失败(如修改系统配置)。
2. 关闭现有 Swap
- 使用
swapoff -a
关闭所有活动的 Swap 分区/文件,确保后续操作不会与现有 Swap 冲突。
3. 创建 Swap 文件
- 路径管理:默认创建
/swapfile
,若已存在则删除旧文件。 - 空间分配:优先用
fallocate
快速分配 32GB 空间(速度快),失败时改用dd
逐字节写入(兼容性高但耗时)。
4. 格式化为 Swap 空间
- 通过
mkswap
将文件格式化为 Swap 专用格式,标记为系统可识别的虚拟内存区域。
5. 启用 Swap 并持久化
- 即时生效:
swapon
命令激活新 Swap 文件。 - 持久配置:修改
/etc/fstab
文件,确保系统重启后自动加载该 Swap。
6. 验证与反馈
- 最终通过
swapon --show
和free -h
输出 Swap 状态,确认操作成功。
1 |
|
文章链接:
https://www.zywvvd.com/notes/system/linux/extend-swap/extend-swap/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信支付

支付宝支付
Ubuntu Swap 简介与空间扩展
https://www.zywvvd.com/notes/system/linux/extend-swap/extend-swap/