Ubuntu Swap怎么在SSD上使用
导读:Ubuntu 在 SSD 上使用 Swap 的完整指南 一 方案选择 使用 Swap 文件:灵活易调整大小,适合大多数桌面与服务器场景。现代内核与 SSD 上,性能与分区几乎无差。 使用 Swap 分区:传统方式,连续空间、略少开销,适合...
Ubuntu 在 SSD 上使用 Swap 的完整指南
一 方案选择
- 使用 Swap 文件:灵活易调整大小,适合大多数桌面与服务器场景。现代内核与 SSD 上,性能与分区几乎无差。
- 使用 Swap 分区:传统方式,连续空间、略少开销,适合对极致性能敏感或已有分区方案的环境。
- 使用 Zswap(内核内置内存压缩):先在内存中压缩页面,只有无法压缩的才写入 SSD,显著降低写入量与延迟,推荐在 SSD 上优先启用。
- 需要 休眠(Hibernate):必须准备足够大的 Swap(至少等于物理内存),且使用 Swap 分区更容易满足该需求。
二 快速方案 Swap 文件
- 查看当前 Swap 状态
- 命令:
free -h、swapon --show、cat /proc/swaps
- 命令:
- 在 SSD 上创建并启用 8GB 示例
- 分配文件:
sudo fallocate -l 8G /swapfile - 安全权限:
sudo chmod 600 /swapfile - 格式化为 Swap:
sudo mkswap /swapfile - 立即启用:
sudo swapon /swapfile
- 分配文件:
- 开机自动启用
- 写入 fstab:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 写入 fstab:
- 验证:
free -h、swapon --show应能看到新增的 /swapfile
三 使用 Swap 分区
- 识别 SSD 上的目标分区(示例:/dev/nvme1n1 或 /dev/sdX)
- 查看设备:
sudo fdisk -l
- 查看设备:
- 格式化并启用
- 格式化:
sudo mkswap /dev/nvme1n1 - 启用:
sudo swapon /dev/nvme1n1
- 格式化:
- 开机自动启用
- fstab 添加:
/dev/nvme1n1 none swap defaults 0 0
- fstab 添加:
- 说明:云实例或已有独立磁盘时,直接对新盘/新分区启用即可,无需挂载为目录。
四 SSD 优化与安全设置
- 降低写入倾向
- 查看:
cat /proc/sys/vm/swappiness - 临时:
sudo sysctl vm.swappiness=10 - 永久:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
- 查看:
- 减少元数据写入
- 在 SSD 挂载项中添加 noatime(如:
/dev/sdXY /mnt/ssd ext4 noatime,errors=remount-ro 0 0)
- 在 SSD 挂载项中添加 noatime(如:
- 启用 Zswap(强烈推荐)
- 编辑:
sudo nano /etc/default/grub - 在
GRUB_CMDLINE_LINUX添加:zswap.enabled=1 zswap.compressor=lz4 - 更新并重启:
sudo update-grub & & sudo reboot
- 编辑:
- 监控与排障
- 观察 I/O:
sudo iotop - 观察换入换出:
vmstat 1(关注 si/so)
- 观察 I/O:
五 容量建议与注意事项
- 容量参考(按物理内存)
| 物理内存 | 推荐 Swap 大小 | 说明 |
|---|---|---|
| ≤ 2GB | 2 × 内存 | 小内存设备必备 |
| 2–8GB | = 内存 | 通用平衡 |
| > 8GB | 4–8GB | 大内存仅作应急 |
| > 64GB(服务器) | 禁用或 1–4GB | 依赖 OOM Killer 管理 |
- 休眠需求:若需休眠,Swap 需 ≥ RAM 容量;使用 Swap 分区更易满足。
- 风险提示:禁用 Swap 可能导致 OOM Killer 终止进程;调整 fstab 前建议备份,变更后可用
sudo swapon -a测试。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swap怎么在SSD上使用
本文地址: https://pptw.com/jishu/779245.html
