我正在测试一个 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%。虚拟机运行时,它仍然以全处理器速度运行(尽管运行频率低于其他情况下的运行频率)。
答案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 驱动器)。这应该会减慢速度。