如何在虚拟机中模拟一台运行缓慢的机器?

如何在虚拟机中模拟一台运行缓慢的机器?

我正在测试一个 AJAX 密集型 Web 应用程序。我在一台新的 Mac 上进行开发,但我使用 VmWare Fusion(当前版本为 3.1.2)在 Windows XP 中进行测试,使用测试员模拟旧版本的 IE。

这样我就能了解旧版 IE 会如何呈现网站,但我还想了解网站在旧机器上的表现。我在虚拟机设置中看到可以减少 RAM;有没有办法同时降低处理器速度?我还能怎样模拟一台缓慢的机器?

(我还要去看看如何模拟慢速互联网连接

答案1

线程限制虚拟机中的 CPU 速度提供一些建议:

  • 在 VMWare ESX 和 ESXi 上,您可以创建资源池并限制该池的 CPU 资源。这将允许您限制在该资源池中创建的任何系统的 CPU 速度。
  • MS hyper-V 中的设置允许将虚拟机限制为整个主机的百分比。因此,如果您有一台以 2 GHz 运行的 8 核主机,您可以尝试将客户端虚拟机限制为一个核心,并且不超过核心的 45%。

Virtual PC Guy 评论道减慢虚拟机速度那 :

例如,在虚拟服务器下设置虚拟机的最大 CPU 资源为 10%,这意味着在一段时间内,虚拟机只能在 CPU 上运行总系统调度时间的 10%。虚拟机运行时,它仍然以全处理器速度运行(尽管运行频率低于其他情况下的运行频率)。

他建议改用涡轮减慢虚拟机的速度。他还建议使用比虚拟化慢得多的模拟产品,例如DOS盒波克斯

答案2

您可以使用CPU限制限制分配给您的进程的处理时间量。大多数 Linux 发行版的存储库中都有此功能。

使用非常简单,例如,如果您的虚拟机作为进程 12345 运行,并且您只想为其分配 5% 的 CPU 周期,请使用以下选项:

$ cpulimit -l 5 -p 12345

答案3

确实不可能可靠地匹配旧机器的性能。即使你设法限制 CPU 使用率和内存尺寸,你将如何限制 FSB 速度或内存速度

话虽如此,您可以使用 Mac 的进程管理工具来限制 VMWare Fusion 本身的 CPU 使用率。如果您做得足够好以模拟较旧的机器,那么整个 VMWare 应用程序可能会运行得非常慢——就像老式的 XP 机器一样。

我不知道这个图形化 Mac 程序是什么,但看看你的 Mac 是否支持该renice命令:打开终端并输入man renice以了解它在 Mac 上的工作原理。

顺便说一句,XP 就绪机器现在可能非常便宜。一台真正的机器可能只需 75 美元左右。然后,您可以将虚拟机转移到真正的机器上……

答案4

这实际上取决于您要模拟的机器有多慢。如果您将 XP 回滚到 128 MB RAM,它将非常慢,以至于我不确定虚拟处理器速度是否真的相关。您还可以从旧的 USB1 外部硬盘驱动器运行 VM 文件(看看您是否能找到 4200 RPM 驱动器)。这应该会减慢速度。

相关内容