Ubuntu Swap设置指南大全
导读:Ubuntu Swap 设置指南大全 一 概念与适用场景 Swap 是磁盘上的一块空间(可为分区或文件),用于在物理内存紧张时存放不活跃的内存页,从而避免 OOM(Out of Memory) 导致的进程被杀死或系统不稳定。优点是提升稳定...
Ubuntu Swap 设置指南大全
一 概念与适用场景
- Swap 是磁盘上的一块空间(可为分区或文件),用于在物理内存紧张时存放不活跃的内存页,从而避免 OOM(Out of Memory) 导致的进程被杀死或系统不稳定。优点是提升稳定性与容错;代价是访问速度远低于 RAM,大量换入换出会引起明显卡顿。常见用途包括:编译大型工程、虚拟机/容器、内存峰值明显的服务、以及内存较小的设备。一般建议:当 RAM ≤ 4GB 时,Swap 可适当放大;当 RAM 较大 时,可减小 Swap 并更依赖物理内存与缓存策略。
二 快速检查与常用命令
- 查看是否已启用 Swap:
- 查看详细信息:
sudo swapon --show - 查看容量汇总:
free -h
- 查看详细信息:
- 查看与临时调整内核 swappiness(默认 60,范围 0–100,数值越小越倾向使用物理内存):
- 查看:
cat /proc/sys/vm/swappiness - 临时设置:
sudo sysctl vm.swappiness=40 - 永久生效:在
/etc/sysctl.conf中添加vm.swappiness=40后执行sudo sysctl -p
- 查看:
- 适用提示:桌面环境常用 60;服务器为减少磁盘 I/O,常将 swappiness 调低(如 10–40),需结合负载逐步调优。
三 创建与启用 Swap 文件(推荐,灵活易调整)
- 步骤(以创建 4GB 为例,可按需替换大小):
- 创建空白文件(两种等效方式,二选一)
sudo fallocate -l 4G /swapfile- 或:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
- 设置安全权限:
sudo chmod 600 /swapfile - 格式化为 Swap:
sudo mkswap /swapfile - 启用 Swap:
sudo swapon /swapfile - 开机自动挂载:在
/etc/fstab添加/swapfile none swap sw 0 0 - 验证:
sudo swapon --show或free -h
- 创建空白文件(两种等效方式,二选一)
- 说明:
fallocate更快;在少数文件系统/环境下可能不如dd稳定,遇到异常可改用dd重试。- 权限必须为 600,防止其他用户读取潜在敏感内容。
四 使用 Swap 分区(适合全新规划或磁盘已分区场景)
- 步骤:
- 使用 fdisk/parted/gparted 创建专用分区(类型设为 Linux swap)。
- 格式化分区:
sudo mkswap /dev/sdX(将 /dev/sdX 替换为实际设备,如 /dev/sda3)。 - 启用分区:
sudo swapon /dev/sdX - 开机自动挂载:在
/etc/fstab添加/dev/sdX none swap sw 0 0 - 验证:
sudo swapon --show、free -h
- 调整大小要点:
- 扩展分区通常需要其后面有连续未分配空间;否则只能缩小后再移动分区,操作复杂且存在数据风险。
- 若需频繁调整容量,优先考虑 Swap 文件 方案以获得更高灵活性。
五 调整大小、删除与最佳实践
- 调整 Swap 文件大小
- 停用:
sudo swapoff /swapfile - 调整容量(示例扩至 8GB):
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 - 重新设置:
sudo mkswap /swapfile - 启用:
sudo swapon /swapfile
- 停用:
- 删除 Swap 文件或分区
- 停用:
sudo swapoff /swapfile或sudo swapoff /dev/sdX - 从
/etc/fstab删除对应行(注释或移除) - 删除文件:
sudo rm /swapfile;或删除/重分分区(使用 fdisk/parted/gparted) - 验证:
free -h、sudo swapon --show
- 停用:
- 性能与寿命建议
- SSD 上启用 Swap 会写入更多数据,理论上增加磨损;但在现代 SSD 与合理 swappiness 下通常可接受。若极度在意写入寿命,可优先使用 Swap 分区 或将 Swap 放在 HDD,并适度降低 swappiness。
- 不要盲目追求“越大越好”,过大的 Swap 会掩盖内存瓶颈并导致长期换页抖动;应结合应用内存特征与磁盘性能综合权衡。
- 故障排查要点
- 修改
/etc/fstab前建议先备份;错误的 fstab 可能导致系统无法启动。 - 若
swapon失败,检查:文件路径、权限是否为 600、是否已被其他进程占用、磁盘空间是否充足、文件系统是否支持。
- 修改
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swap设置指南大全
本文地址: https://pptw.com/jishu/766391.html
