Ubuntu如何优化swap设置
导读:Ubuntu 优化 Swap 的实用步骤 一 监控与评估现状 查看内存与 Swap 使用:运行 free -h;查看已启用的交换设备:swapon --show;查看交换文件/分区详情:cat /proc/swaps。这些命令能快速判断是...
Ubuntu 优化 Swap 的实用步骤
一 监控与评估现状
- 查看内存与 Swap 使用:运行 free -h;查看已启用的交换设备:swapon --show;查看交换文件/分区详情:cat /proc/swaps。这些命令能快速判断是否存在频繁换入换出(si/so)与容量不足的风险。若需观察实时换页情况,可用 vmstat 1 关注 si/so 列。对于需要休眠(Hibernate)的设备,请确保 Swap 容量≥物理内存总量。
二 调整内核使用倾向 vm.swappiness
- 查看当前值:cat /proc/sys/vm/swappiness(Ubuntu 默认通常为 60)。
- 临时调整(重启失效):sudo sysctl vm.swappiness=10。
- 永久生效:写入配置文件
- 建议方式:echo ‘vm.swappiness=10’ | sudo tee -a /etc/sysctl.conf
- 或编辑 /etc/sysctl.conf 增加一行:vm.swappiness=10
- 取值含义与经验:范围 0–100,数值越低越倾向使用物理内存;桌面环境可保留默认 60,服务器或交互响应优先的场景常设为 10 以降低磁盘 I/O。注意:在 3.5 及以上内核中,vm.swappiness=0 并非完全禁用,仅尽量不使用 Swap,若需彻底避免交换应使用 1。
三 配置与调整 Swap 容量
- 使用 Swap 文件(灵活易调整,推荐):
- 创建文件(示例 16GB):sudo fallocate -l 16G /swapfile
- 设置权限:sudo chmod 600 /swapfile
- 格式化为 Swap:sudo mkswap /swapfile
- 启用:sudo swapon /swapfile
- 永久启用:先备份 /etc/fstab,再追加 /swapfile none swap sw 0 0
- 验证:free -h、swapon --show
- 调整容量(增大/缩小):先停用全部 Swap(sudo swapoff -a),删除旧文件,按上述步骤创建新大小并启用,最后再启用其他 Swap 项。
- 使用 Swap 分区:可用 sudo mkswap /dev/sdX 初始化分区,并在 /etc/fstab 中使用其 UUID 挂载(可用 ls -al /dev/disk/by-uuid 查询)。
- 休眠需求:确保 Swap 容量≥RAM 总量,否则无法完整保存内存映像。
四 启用 Zswap 减少磁盘 I/O
- Zswap 在内核将页换出前先压缩,显著降低写入磁盘的 Swap 数据量,适合 SSD/NVMe。启用步骤:
- 编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX 中添加:zswap.enabled=1 zswap.compressor=lz4
- 更新引导:sudo update-grub
- 重启:sudo reboot
- 提示:启用 Zswap 后,通常仍可保留一个小容量 Swap(文件或分区)作为兜底,兼顾性能与稳定性。
五 场景化建议与注意事项
- 容量建议(经验值,需结合实际负载与是否启用 Zswap 调整):
物理内存 推荐 Swap 说明 ≤ 2GB 2 × RAM 小内存设备必备 2–8GB ≈ RAM 通用平衡 > 8GB 4–8GB 大内存仅作应急 > 64GB(服务器) 禁用或 1–4GB 依赖 OOM Killer 与上层限流 - 存储优先级:优先 SSD/NVMe 作为 Swap 介质,显著降低换页延迟。
- 调整前务必备份 /etc/fstab,变更 Swap 后使用 free -h、swapon --show 校验;大幅变更建议先 swapoff -a 再 swapon -a 使配置生效。
- 禁用 Swap 可能导致 OOM Killer 终止进程,仅在明确了解风险时执行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何优化swap设置
本文地址: https://pptw.com/jishu/786926.html
