我正在测试CS类的不同排序方法的速度,虽然我们的教授说我们不需要非常精确地非常精确,但他仍然希望我们小心不要跑测试时在后台使用应用程序,使用不同的计算机,或做任何事情来提高排序速度。
如果我在VM中运行测试,VM外部的环境是否会影响速度?这有助于使测试准确无误,而不必担心我在VM旁边打开的应用程序的变化吗?
答案 0 :(得分:1)
简而言之,是的。
在大多数情况下,主机与VM共享其资源。如果您停止/冻结/崩溃主机,则VM将受到影响。
对于拥有更强大服务器且资源更好的用户,主机中运行的进程不会对VM造成太大影响。因为如果主机上有更多资源,您可以为VM分配更好的RAM和虚拟处理器,使其顺利运行。
例如,假设我们的主机拥有64GB内存,一个处理器有4个内核和8个线程(例如英特尔®至强®E3-1240处理器)。
我们可以告诉VirtualBox,VMware或Hyper-V为VM分配32GB RAM和4个虚拟处理器,从而将主机功耗降低一半。
考虑到这一点,您在主机上运行的任何进程通常都与VM分离,但如果进程冻结,崩溃或导致主机上的硬重启,则无论分配了RAM还是虚拟处理器,VM都会受到影响
在企业环境中,只应将hyper-v服务器用于此目的,并且通常不赞成在主机中安装/运行大量进程(例如安装/运行DHCP,DNS,Web服务器(IIS),等)。
因此,您的教授在测试您的VM时建议不要在主机上运行进程。