VM 的速度是否受其外部程序 运行 的影响?

Is a VM's speed affected by programs running outside of it?

我正在测试 CS class 的不同排序方法的速度,虽然我们的教授说我们不需要 非常 精确,但他仍然希望我们在测试时注意不要 运行 应用程序在后台运行,使用不同的机器,或做任何会降低速度的事情。

如果我运行在虚拟机中测试,虚拟机之外的环境会影响速度吗?这是否有助于使测试准确无误,而不必担心我与 VM 一起打开的应用程序发生变化?

简而言之,是的。

在大多数情况下,主机与 VM 共享它们的资源。如果您 down/freeze/crash 主机陷入困境,那么 VM 将受到影响。

对于那些拥有更强大的服务器和更好的资源的服务器,主机中的进程 运行ning 不会对 VM 产生太大影响。因为如果您在主机上有更多资源,您可以为 VM 分配更好的 RAM 和虚拟处理器,这样它 运行 就可以顺利进行。

例如,假设我们的主机有 64GB 内存和 4 核 8 线程处理器(例如 Intel® Xeon® E3-1240 处理器)。

我们可以告诉 VirtualBox、VMware 或 Hyper-V 为 VM 分配 32GB 的 RAM 和 4 个虚拟处理器,从本质上将主机的功率减少一半。

考虑到这一点,您 运行 在主机上的任何进程通常都将与 VM 分开,但如果进程冻结、崩溃或导致主机硬重启,则 VM 将受到影响,无论如何分配的 RAM 或虚拟处理器的数量。

在企业环境中,hyper-v 服务器只能用于该目的,installing/running 主机中的许多进程通常不受欢迎(例如 installing/running DHCP、DNS、 Web 服务器 (IIS) 等)。

所以您的教授建议在测试您的 VM 时不要在主机上 运行ning 进程是正确的。