VirtualBox 会永久影响性能吗?

VirtualBox 会永久影响性能吗?

我想安装 VirtualBox 作为 Ubuntu 测试环境。我必须永久牺牲 RAM 等系统资源吗?还是仅在环境运行时牺牲?

答案1

  • 你必须牺牲一些磁盘空间当你安装它时。
  • 以及RAM 的一小部分,因为它加载额外的内核模块

而已,只要应用程序未运行。

您分配给虚拟机的资源有所不同:

  • 当然其虚拟磁盘/存储将一直存在,直到您删除该虚拟机及其文件
  • 已分配 RAM仅当您启动虚拟机时才会使用到虚拟机,而一旦关闭虚拟机电源,它就会被释放。
  • VirtualBox 本身运行时使用的 RAM 也是一样,当您退出 VirtualBox 应用程序本身时,它应该被释放。

答案2

根据我的经验,最常见的瓶颈是 HDD 和/或内存控制器。

肯定会在 RAM 中分配更多空间,但最大的问题是您的 HDD 和内存控制器必须为 2 个操作系统加倍工作,无论 1 个操作系统是否虚拟化,它仍然必须访问某处的物理设备来读取和写入数据。

如果您有机会安装和使用另一个 HDD,请使用它来存储有关 VM 的所有数据,拥有 2 个 HDD 将使一切运行得更顺畅。

答案3

如果客户机是 Linux,则有一个不常提及的选项,如果满足要求,可能会大大提高速度。

您可以告诉 VirtualBox 在客户机中使用 USB 磁盘,并且如果客户机是 Linux 系统,它可以使用这样的磁盘作为根,但可能不能用于启动(VBox 拒绝从 USB 启动)。

您还可以告诉 VBox 使用 RAW 格式的磁盘(警告:主机同时访问磁盘,如果主机是 Windows,最好将磁盘设置为脱机)。我非常不喜欢这个;我更喜欢传递 USB 驱动器。

但要确保 USB 驱动器速度快(最好是 SSD)并且 USB 是 3.x(最好是 3.1 Gen2),USB 2.0 是一个真正的瓶颈。

这样,Linux 客户机将控制真正的硬件(通过 USB 传输),这可以使客户机真正顺畅运行。

还可以考虑使用 Linux Live 系统(在 RAM 中完全运行),但具有足够的 RAM(例如主机上的 32GiB/64GiB/128GiB/256GiB/.../1TiB RAM)。

实际上没有什么可以超越 RAM 速度。


我的配置是 128GiB AMD ThreadRipper 1950X(16 核/32 线程),配备 128GiB DDR4 和 LVM2(条带化)中的第八个 120GiB SSD(每个 500MiB/s)。

在启动时,Linux 系统将其 2GiB 主机 Linux 复制到 RAM(从 RAID 0 等 SSD 中,用时不到两秒),然后主机完全从 RAM 运行,然后我将客户机磁盘复制到 RAM 驱动器(复制 64GiB,用时不到九秒),然后我运行 VBox 并启动客户机,客户机磁盘完全在 RAM 上。

因此,所有(主机和客户机)都使用 RAM 上的所有磁盘存储运行(任何物理磁盘都不可能在运行时实现更快的磁盘访问)。

我知道,我只允许主机和客户机分配 30GiB 作为 RAM,对于主机我分配 6GiB,对于客户机我分配 24 GiB。

所以我的 128GiB 被这样使用(带 * 的数字表示近似值):

  • 2GiB* 的 RAM 驱动器用于 Linux 主机(磁盘到 RAM 启动)
  • 6GiB RAM 作为主机 RAM(用于主机系统和应用程序)
  • 64GIB RAM 驱动器用于客户虚拟(固定大小)磁盘
  • 128MiB RAM 用于客户视频内存
  • 24GiB RAM 用于客户 RAM
  • 总计:128GiB

我知道拥有 128GiB 可以让我做一些好事。

我应该提到,使用此设置,我的 Guest 是不可变的,除非我将磁盘映像从 RAM 驱动器保存回 SSD。

还要注意的是,SSD 仅在启动时使用,并且仅在关机时使用(如果我想保存更改),而在启动时它们仅使用约 12 秒(是的,你没看错,不到四分之一分钟),如果我想在关机时保存更改,它们仅使用九秒钟。

因为我每晚都将其关机,所以我的 SSD 每天仅用于读取 12 秒,而每天仅用于写入 9 秒(不是每天)。

还请注意,所有读取/写入都是针对大小为(接近 2GiB 主机 Linux .ISO,如小型 LiveDVD)+(64GiB 客户虚拟固定大小磁盘)的文件,Grub2 启动文件、内核和 initramfs 除外。因此,我主要将 SSD 用于两个非碎片文件,一个接近 2GiB,另一个为 64GiB。

拥有大量 RAM 确实很棒(而且这样的处理器非常棒),但价格昂贵(近 3000 美元)。

如果我有钱的话,我可以做得更好……使用四插槽主板来处理 AMD Epyc 处理器(每个处理器售价 4000 美元,因此仅处理器就需要 16000 美元)。我买不起这么高的价格,但这样的主板最多可以支持 1 TB 的 DDR4 RAM……想想我能用这样的野兽做什么!

相关内容