Ubuntu Swap怎么在虚拟机中使用
导读:Ubuntu 虚拟机中使用 Swap 的完整指南 一 前置检查 查看是否已有交换空间:运行命令 free -h 或 sudo swapon --show。若输出为空,表示当前未启用 Swap。 规划大小:常见做法是分配约内存的 1–2 倍...
Ubuntu 虚拟机中使用 Swap 的完整指南
一 前置检查
- 查看是否已有交换空间:运行命令 free -h 或 sudo swapon --show。若输出为空,表示当前未启用 Swap。
- 规划大小:常见做法是分配约内存的 1–2 倍;若宿主机内存较大(如 ≥16GB)且工作集主要在内存中,可适当减小。
- 预留磁盘:确保虚拟机磁盘还有充足可用空间,否则创建 Swap 可能导致系统异常。
- 适用场景:编译大型项目、多任务、内存峰值明显的场景更适合启用 Swap。
二 创建与启用 Swap 文件
- 创建文件(推荐):使用高效方式创建指定大小的交换文件
- 示例:
sudo fallocate -l 4G /swapfile(创建 4GB 的交换文件) - 若 fallocate 失败,可改用:
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
- 示例:
- 设置权限:
sudo chmod 600 /swapfile(仅 root 可读写) - 格式化为 Swap:
sudo mkswap /swapfile - 启用 Swap:
sudo swapon /swapfile - 验证:
free -h或sudo swapon --show应能看到新 Swap
三 设置开机自动启用
- 将以下行追加到 /etc/fstab:
/swapfile none swap sw 0 0- 命令示例:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 命令示例:
- 说明:部分教程也写作
defaults,两者在 Swap 场景下等效。
四 调整与优化
- 调整 Swappiness(控制内核使用 Swap 的倾向,取值 0–100)
- 查看:
cat /proc/sys/vm/swappiness(Ubuntu 桌面版常见默认 60) - 临时调整:
sudo sysctl vm.swappiness=10(示例值,按需设置) - 永久生效:在 /etc/sysctl.conf 中添加
vm.swappiness=10
- 查看:
- 适用建议:桌面环境可适当降低;服务器或编译类负载可先保持中等值并观察,再小步调整。
五 调整大小与移除
- 调整大小(增大示例)
- 关闭现有 Swap:
sudo swapoff /swapfile - 调整文件大小(示例扩至 8GB):
sudo dd if=/dev/zero of=/swapfile bs=1G count=8 - 重新格式化并启用:
sudo mkswap /swapfile & & sudo swapon /swapfile - 如已在 fstab 中配置,无需再次修改
- 关闭现有 Swap:
- 移除 Swap
- 停用:
sudo swapoff -v /swapfile - 删除 fstab 中对应行
- 删除文件:
sudo rm /swapfile
- 停用:
- 风险提示:设置过大或磁盘空间不足,可能导致系统无法启动或图形界面进不去;此时可进入文本模式(如 Ctrl+Alt+F1),用
df -h检查磁盘占用并清理或回退 Swap 配置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swap怎么在虚拟机中使用
本文地址: https://pptw.com/jishu/779244.html
