如何在VM中模拟速度较慢的计算机?


29

我正在测试一个AJAX繁重的Web应用程序。我在新Mac上进行开发,但是我使用VmWare Fusion(当前为3.1.2)在Windows XP中进行测试,并使用IETester模拟IE的较早版本。

这让我看到了较旧的IE版本如何呈现该网站,但是我还想了解该网站在较旧的计算机上的性能。我在VM的设置中看到可以减少RAM。有没有办法降低处理器速度?我还能如何模拟慢速机器?

(我还将检查如何模拟缓慢的Internet连接。)

Answers:


17

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

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

Virtual PC Guy在“ 降低虚拟机速度”中指出:

在Virtual Server(虚拟服务器)下设置最多具有10%CPU资源的虚拟机意味着在一段时间内仅允许该虚拟机在CPU上运行的时间占系统调度总时间的10%。当虚拟机运行时,它仍以全处理器速度运行(尽管不如以前那样频繁运行)。

他建议改用Turbo来减慢VM。他还建议使用比虚拟化要慢得多的仿真产品,例如DOSBoxBochs


7

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

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

$ cpulimit -l 5 -p 12345

4

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

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

我不知道此图形Mac程序是什么,但请查看您的Mac是否支持以下renice命令:打开终端,然后键入man renice以了解其在Mac上的工作方式。

顺便说一下,支持XP的机器目前可能非常便宜。一个真正的大概可能要花$ 75。然后,您可以将虚拟机转移到真实的虚拟机上。


2
哈!购买实际机器的有趣想法。由于整个想法是模拟一台旧计算机,因此购买一台旧计算机是相当便宜的选择。:)
内森·朗

2

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


2

使VM变慢的一种肯定方法是启动与它并列的尽可能多的克隆!

您的处理器,FSB,RAM和计算机的所有其他快速组件将在其他VM之间进行切片和切块(只要您让它们做一些密集的工作-例如openGL屏幕保护程序之一),您就会感觉像你又是1990年...


简单而有效。
滚动

1

在来宾XP VM中安装一个小的实用程序,以使用XP的内置动态频率切换来控制CPU频率。例如,类似 SpeedswitchXP。我自己从未尝试过类似的方法,如果VMWare呈现给来宾VM的虚拟CPU不支持动态频率切换,则可能会出现问题。


1
我担心这对仅模拟CPU的VM几乎没有影响。
harrymc 2011年

1
是的,我不认为更改频率是一种选择。它要么不起作用(可能),要么节制整个主机os(不可能?)。
jpaugh 2011年

0

我会接受使用带有可调睡眠命令的无限循环线程并设置进程优先级的想法。如果您想让我拍一下C代码,请告诉我。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.