Ubuntu下VirtualBox如何优化存储性能
导读:Ubuntu 下 VirtualBox 存储性能优化 一 磁盘与控制器配置 使用固定大小 VDI(而非动态分配),可减少运行时扩容与碎片带来的抖动;将虚拟磁盘文件放在SSD/NVMe上,整体 I/O 会显著提升。 存储控制器优先选择SAT...
Ubuntu 下 VirtualBox 存储性能优化
一 磁盘与控制器配置
- 使用固定大小 VDI(而非动态分配),可减少运行时扩容与碎片带来的抖动;将虚拟磁盘文件放在SSD/NVMe上,整体 I/O 会显著提升。
- 存储控制器优先选择SATA或NVMe(若可用);在虚拟机设置中移除不必要的设备(如未使用的光驱、USB 控制器)以减少中断与资源占用。
- 在虚拟机内安装并启用VirtualBox Guest Additions,可获得更好的 I/O 调度与文件系统集成。
二 宿主机与虚拟机内的 I O 调度与参数
- 宿主机(Ubuntu)将调度器调整为适合 SSD 的none/mq-deadline(机械盘可用cfq):
- 查看设备:
lsblk -d -o name,rota识别是否为 SSD(rota=0 为 SSD)。 - 临时设置:
echo none | sudo tee /sys/block/sdX/queue/scheduler(将 sdX 替换为实际盘符)。 - 持久化:在
/etc/default/grub的GRUB_CMDLINE_LINUX_DEFAULT加入elevator=none(或mq-deadline),执行sudo update-grub并重启。
- 查看设备:
- 虚拟机内优化写回策略,降低抖动:
- 适度降低脏页比例:
sudo sysctl -w vm.dirty_ratio=10 - 适度降低脏页过期比例:
sudo sysctl -w vm.dirty_background_ratio=5 - 适度降低交换倾向:
sudo sysctl -w vm.swappiness=10
提示:以上为通用起点,需结合负载与稳定性观察微调。
- 适度降低脏页比例:
三 大文件拷贝与共享文件夹的性能建议
- 大量文件传输时,优先使用桥接/NAT 网络的 SCP/SFTP/rsync 或NFS(Vagrant 场景),通常比 VirtualBox 共享文件夹更快、更稳定。
- 若必须使用共享文件夹:
- 安装并启用Guest Additions,使用 vboxsf 挂载(如:
sudo mount -t vboxsf share /mnt/share)。 - 注意权限与可用性:将用户加入 vboxsf 组(
sudo usermod -aG vboxsf $USER),确保宿主机共享目录权限正确;遇到访问或性能异常时,检查增强工具安装与服务状态。
- 安装并启用Guest Additions,使用 vboxsf 挂载(如:
四 空间回收与扩容的正确流程
- 回收虚拟磁盘空间(仅对动态分配 VDI有效):
- 在虚拟机内将要回收的挂载点(如 /、/home)用零填充文件占满空闲空间:
sudo dd if=/dev/zero of=/EMPTY bs=1M status=progress
完成后删除:sudo rm -f /EMPTY - 完全关机。
- 在宿主机执行压缩(UUID 或路径均可):
VBoxManage modifyhd < UUID|/path/to/disk.vdi> --compact
- 在虚拟机内将要回收的挂载点(如 /、/home)用零填充文件占满空闲空间:
- 扩容虚拟磁盘:
- 关机后查询磁盘 UUID:
VBoxManage list hdds - 调整大小(单位 MB,示例为 50GB=51200MB):
VBoxManage modifyhd < UUID> --resize 51200 - 启动虚拟机,使用 GParted 扩展分区与文件系统(ext4 等),使系统识别新增空间。
- 关机后查询磁盘 UUID:
五 监控与验证
- 观察存储性能:
- 宿主机:
iostat -x 1(关注 await、r/s、w/s、svctm、util) - 虚拟机内:
vmstat 1、sudo iotop
- 宿主机:
- 观察空间变化:
df -h、lsblk,压缩前后对比 VDI 文件大小。 - 变更调度器或内核参数前建议创建快照,出现异常可快速回滚。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下VirtualBox如何优化存储性能
本文地址: https://pptw.com/jishu/761623.html
