几个小时后 VMware Fusion 性能下降

ƘɌỈ*_*ƬƠƑ 16 windows-7 performance vmware-fusion

一段时间以来,我一直在使用 VMware Fusion 遇到问题,VM(运行 Windows)最初运行良好,但一段时间后会变慢(最好的猜测是几个小时)。它是如此缓慢,以至于打字时甚至会有延迟。

该问题不仅限于一台虚拟机:我有多个 Windows 7 虚拟机显示相同的问题。

在找到此问题的根源时,将不胜感激任何提示。以下是配置详细信息以及我到目前为止所做的尝试。

配置:

  • OS X 10.9.2
  • VMware Fusion 6.0.2
  • MacBook Pro(2012 年中)英特尔酷睿 i7 2.3Ghz、8GB 内存、Apple SSD
  • VM 运行 Windows 7、8 核、4GB RAM、SATA 磁盘(未预分配)
  • 虚拟机网络:桥接

到目前为止执行的更改(优化)

窗户(客人):

  • 禁用所有非必要的 Windows 服务(例如 Windows 搜索、媒体等)
  • 禁用 NTFS 访问时间修改
  • 禁用 8.3 文件名
  • 残疾人航空
  • 将性能设置配置为最佳性能

Mac(主机):

  • 残疾人节能
  • 禁用显示适配器的自动切换

虚拟机:

  • 将虚拟机从外部 USB3 磁盘移动到内部 SSD
  • VM 兼容性设置为 VMware 6(最新可用)
  • 将 VM HD 控制器从 SCSI 或 IDE 升级到 SATA
  • 将虚拟机硬盘缓冲设置为启用
  • 禁用故障排除(设置为None
  • 删除了 appleListCache 文件夹并用一个虚拟文件替换了它

更新:

我向 VMware 创建了一个支持请求以深入了解此问题,并收到了以下两个额外的操作尝试:

  • 重新安装 VMware 工具
  • 通过执行以下步骤,从 OSX 中的 AppNap 功能中排除 VMware:

    1. 关闭所有虚拟机并退出 Vmware Fusion。
    2. 转到应用程序文件夹并右键单击 VMware Fusion
    3. 选择获取信息
    4. 选择防止 App Nap 选项。
    5. 启动虚拟机并重新检查问题。

更新 2:

除了上述操作之外,VMware 支持还要求我执行以下操作:

  • 减少分配给 VM 的 CPU 核数——我的 MacBook Pro 有 8 个核,其中 VMware 建议只分配 2 个给 VM。
  • 降低分配给 VM 的 RAM——我总是分配尽可能多的 RAM,只为 OSX 留出足够的内存。VMware 建议将其降低到 2GB。
  • 禁用共享文件夹功能——我通常在主机和来宾操作系统之间共享一些文件夹,以便于文件交换。

虽然我没想到这些更改会产生任何影响(尤其是降低分配给来宾操作系统的资源),但我迄今为止尝试过的 VM 都运行稳定且没有任何真正的问题,即使从 USB3 外部运行WD盘。

and*_*tim 9

我有同样的问题,但这些解决方案并没有解决我的问题。但是我从artykul8找到了一篇博,修复了我所有的问题!

http://artykul8.com/2012/06/vmware-performance-enhancing/


调整:禁用内存交换文件 .vmem 文件

mainMem.useNamedFile = "FALSE"
Run Code Online (Sandbox Code Playgroud)

不幸的是,此参数不适用于 VMware Player,因为它总是创建虚拟机的完整内存交换文件。对于 Mac 和 Linux 上的 VMware Fusion,mainMem.useNamedFile您不必设置mainMem.backing标志。

mainMem.backing = "swap"
Run Code Online (Sandbox Code Playgroud)

调整:选择正确的磁盘控制器并指定 SSD

不是最新的SATA AHCI控制器,而是为 Windows 来宾操作系统选择带有 SCSI 磁盘的LSI Logic SAS控制器,或为其他类型的操作系统选择PVSCSI。不幸的是,VMware 上的 SATA AHCI 在三个控制器中的性能最低,而 CPU 开销最高(请参阅最后有关该主题的参考资料)。除了选择正确的控制器之外,如果您的主机磁盘是 SSD,您可以将磁盘类型明确指定为来宾操作系统的 SSD。

scsi0:0.virtualSSD = 1
Run Code Online (Sandbox Code Playgroud)

调整:禁用 VM 的日志文件

logging = "FALSE"
Run Code Online (Sandbox Code Playgroud)

或者,您可以指定不同的位置来存储日志文件,如果您需要它们:

log.filename = "c:\Windows\Temp\vm1.log"
Run Code Online (Sandbox Code Playgroud)

调整:其他磁盘和内存 I/O 性能优化

禁用内存修整:

MemTrimRate = "0"
Run Code Online (Sandbox Code Playgroud)

禁用页面共享:

sched.mem.pshare.enable = "FALSE"
Run Code Online (Sandbox Code Playgroud)

禁用内存分配的缩减:

MemAllowAutoScaleDown = "FALSE"
Run Code Online (Sandbox Code Playgroud)

调整:禁用快照

如果您不使用快照并且更喜欢完整备份,请禁用它们:

snapshot.disabled = "TRUE"
Run Code Online (Sandbox Code Playgroud)

调整:禁用统一模式

Unity 可能是运行虚拟桌面操作系统的一个很好的功能,但它对于虚拟化服务器操作系统并不是最有用的。启用统一的一个令人讨厌的迹象是GuestAppsCache或缓存包含大量文件和子文件夹的文件夹。要为您的 VM 禁用它,请添加以下行:

isolation.tools.unity.disable = "TRUE"
unity.allowCompositingInGuest = "FALSE"
unity.enableLaunchMenu = "FALSE"
unity.showBadges = "FALSE"
unity.showBorders = "FALSE"
unity.wasCapable = "FALSE"
Run Code Online (Sandbox Code Playgroud)


小智 1

我的虚拟机访客也遇到了同样的问题。(顺便说一下,在 10.8 上的 VMWare 5.x 中也是如此)。对我来说解决这个问题的方法是禁用虚拟机硬盘缓冲。这似乎占用了系统的所有可用 RAM 来缓冲磁盘数据(您也可以在活动监视器中监视这一点)。但在其他系统资源需要时归还 RAM 似乎并不是 VMWare 的强大功能之一。

由于我禁用了此功能,因此我不再遇到减慢虚拟机来宾速度的问题。