Windows 7通过磁盘缓存杀死VMWare性能吗?


13

我们正在Dell Precision T3500上运行Windows 7 Enterprise 64位SP1(Xeon E5630 @ 2.53GHz,4GB RAM)。最重要的是最新的VMWare Workstation 7.1.4。在VM中运行的是Windows XP Professional 32位SP3。VMWare配置为为来宾分配2GB RAM。

在VM内执行几乎任何操作都非常缓慢。甚至滚动文本文件也可能需要几秒钟的时间,而且磁盘活动也非常明显。从Windows 7主机对任务管理器和资源监视器进行的快速检查显示,VMWare已分配了大量的虚拟内存,但是我认为所有虚拟内存都已被分页,并且当我开始滚动浏览文本文件时,我很快就点击了大约每秒140次硬故障,并停留在那里。

在运行Windows XP主机的更古老的硬件(奔腾4-vintage)上,较旧版本的VMWare从未表现出这些特殊症状。是否有某种方法可以使Windows 7减少对VMWare内存分页的攻击,或者是否有某些解决方案可以减少对磁盘分页的数量?我完全有可能配置错误,但是我并没有摆弄很多设置。任何建议,将不胜感激,谢谢。


1
除了要说我们在Win7 x64主机上运行VMware Workstation 7.x没有问题之外,我没有任何其他建议。我们同时运行XP和Win7 guest虚拟机,除了标准的Windows guest虚拟机调整之外,它们似乎都运行良好。
Ryan Bolger

1
也许您具有VMware功能,可让您在主机上交换VM内存?这可能会大大降低速度。
James T Snell

RAM看起来有些偏低-尝试升级到8GB
Linker3000

@TheWhitePhoenix-设置为“允许交换一些虚拟机内存”。我将其更改为“将所有虚拟机内存放入保留的主机RAM中”,这可能会改善这种情况,但遗憾的是并未完全解决。
qid

@ Linker3000-我们的旧台式机只有2GB,并且从没有出现过这种现象,无论如何我都无法使用该选项。
qid

Answers:


15

请参阅此处的最后一个条目http://kb.vmware.com/selfservice/microsites/search.do?language=zh_CN&cmd=displayKC&externalId=1008885

进行此更改后,我看到了VM性能的巨大改进。只要确保您的主机上有足够的内存即可。

编辑虚拟机设置,以通过使用更多主机内存来减少I / O使用量:

将这些设置添加到虚拟机可以减少硬盘上的I / O负载,但是这些调整需要主机上的额外内存。仅当主机上有足够的可用内存来容纳分配给虚拟机的所有内存时,才添加这些设置,否则可能会导致内存不足的情况,从而降低所有正在运行的虚拟机的性能或可能影响主机操作系统。请谨慎使用这些设置。
在关闭电源的情况下,为受影响的虚拟机打开.vmx文件。使用文本编辑器将以下行添加到文件中。有关更多信息,请参阅编辑VMware Workstation和VMware Player虚拟机的.vmx文件(2057902)

注意:如果使用的是VMware Server,则可能需要重新启动VMware Authorization Service(vmware-authd),以使更改生效。

MemTrimRate = "0" 
mainMem.useNamedFile = "FALSE"
sched.mem.pshare.enable = "FALSE" 
prefvmx.useRecommendedLockedMemSize = "TRUE"

注意:如果使用的是Linux主机,请使用以下条目代替mainMem.useNamedFile =“ FALSE”。mainMem.useNamedFile条目仅适用于Windows主机。

mainmem.backing = "swap"

2
mainMem.useNamedFile="FALSE"是关键。如果没有此条目,vmware将在主机磁盘上分配一个文件以容纳来宾RAM的全部内容,并且在某些情况下会不断用来宾的RAM破坏主机磁盘。在最坏的情况下,我看到客人完全无法使用。在最好的情况下,大多数情况下,来宾仍然会明显变慢。我还没有看到启用此参数实际上可以提高性能的情况,只是它使挂起更快。
布赖恩·基迪恩

2

Win7中有运行的病毒扫描程序吗?可能会不时地扫描VMDK文件。

就像zippy所说的那样,vmtools可以完成很多工作,但是如果还没有安装的话,它应该不会像您描述的那样糟糕。vmtools要做的事情之一是气球内存,以使VMware知道什么是可以安全分页的,并防止Windows分页出vmware真正使用的东西。

哦,XP中的Windows Search 4.0可以在VM中发疯。可能会误认为系统处于99%空闲状态并运行索引。


病毒扫描程序是一种可能性,我将不得不与我们的IT部门讨论。Windows Search似乎没有安装,并且该服务未运行,因此至少不是这样。
qid

2

编辑:让我们从主机开始。您是否在BIOS中启用了虚拟化扩展?您是否安装了最新的芯片组和Intel RST驱动程序?在驱动器上启用了磁盘缓存?VMware Workstation与Windows上的任何其他程序一样运行,因此您希望您的主机系统尽可能快。

接下来,减少XP VM使用的RAM数量,并将其降至1GB。我曾经遇到过一种情况,其中将2GB分配给PC上的VM(具有4GB)破坏了VM和主机。可能是您的可用RAM比您想象的要少。

如果您有备用的T3500,请在其上+ Windows Workstation上安装Windows XP,然后尝试从中运行VM(除硬件外,与旧的P4计算机运行相同的设置)。如果它运行缓慢,那么您将知道T3500的硬件与之有关。

最后,您可能需要联系VMware支持。至少您可以告诉老板您正在尽力解决此问题。

VM中是否安装了VMware Tools?没有安装该软件会给您带来可怕的性能和视频/鼠标延迟。


我确实安装了VMWare Tools,并且确保将其升级到最新版本。好尝试,不过。
qid

0

vmware提供了对虚拟磁盘进行碎片整理的选项,似乎与OS碎片整理有所不同。值得尝试...


0

将mainmem.backing =“ swap”添加到此VM的.vmx文件中。


2
看起来很有趣。您可以提供参考和/或解释吗?
Scott

“这篇文章没有引用任何参考文献或消息来源。请通过在可靠的消息来源中添加引文来帮助改进这篇文章。未提供资源的材料可能会受到质疑并被删除。”
gparyani 2014年

@jgoeders答案中已经对此进行了更详细的讨论,因此该答案没有任何新内容。
dufte

这是针对Linux主机的。
亚历山大·谢布利金

0

我注意到使用Outlook时性能下降。显然,Windows搜索索引程序会降低性能。

如果关闭索引器(“控制面板”,“索引选项”),则会发现有很大的改进。


您正在运行VMWare吗?如果不是,则答案与原始问题无关。
DavidPostill
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.