Visual Studio:VMware Fusion 与 Bootcamp 上的性能差异显著吗?

Visual Studio:VMware Fusion 与 Bootcamp 上的性能差异显著吗?

我刚刚购买了一台新的 MacBook Pro,并打算通过 Bootcamp 安装 Windows 7,以便我可以进行 Visual Studio 开发工作,但我认为将非开发内容(电子邮件等)移至 Mac 并通过 VMWare Fusion 启动 Windows 7 更有意义。我也打算进行 iPhone 开发,所以想知道这是否更有意义?

有人在运行 VMWare Fusion 的 Windows 2007(64 位或 32 位)上使用 Visual Studio 2008/2010 beta 进行开发时有过任何经验或遇到过问题吗?或者性能差到双启动选项才是更好的选择?

答案1

我知道这个问题没有明确提到 Parallels,但也许我的一些设置/经验可以转移到 VMWare Fusion 的设置上。我正在运行运行 OS X 10.7.3 的 MacBook Pro,配有 Intel Core i7 2.2GHz 和 8 GB 1333 MHz DDR3 内存。我使用的 Parallels 版本是 Parallels 7。

在进入我的配置之前,请注意以下几点:

  • 我是一名拥有 MSDN 访问权限的开发人员。在我的 MSDN 帐户下,我可以访问 Office 2010,包括 Mac 版本(我提到这一点是因为,在许多情况下,Office 是必需品,因此是一个重要的考虑因素 - 虽然我可以同时安装两者,但磁盘空间也会有成本)。这也意味着成本在这里不是问题,因为我可以通过 MSDN 访问我需要的一切。

  • 我还应该注意的另一件事是,我不建议将 VMWare 虚拟机转换为 Parallels 虚拟机,因为我遇到了一些问题,最终进行了全新安装。

  • 我在 Mac(通过 Eclipse 和 Aptana)和 Windows 7 VM(通过 Visual Studio)上进行开发

因此,在配置我的虚拟机大约 1 个月后,我得到了一个相当不错的配置,我体验到了非常流畅的性能。我对这个配置非常满意,而且它比重新启动以进入我的 Windows 机器的替代方案非常方便。下面我将介绍我认为使此配置成功的 Parallels 设置以及我在虚拟机上使用的软件、一些有关 Windows 7 设置的重要项目以及我建议每个 Mac 用户都会受益的 1 美元程序(但对于在 Mac 上使用虚拟机的任何人来说,这都是必需品):

虚拟机软件:

  • Windows 7 旗舰版 x64
  • Visual Studio 2010 Premium 带有大量插件,例如 ReSharper、Mindscape Workbench、NuGet 等...
  • SQL 服务器 2008 R2
  • 表达混合 4
  • 守护进程工具
  • Charles Proxy(如果你要在 Mac 和 PC 上进行开发,我强烈推荐这个,或者至少是 Fiddler 的补充 - SSL 调试的选择加入功能非常好 - 我必须在我的 VM 和 Mac 上安装... 127.0.0.1 在我的 Mac 和 VM 上解析的位置并不相同)
  • 重要的- 我已通过“开始”->“运行”->“msconfig”确保启动时没有运行任何服务 - 我倾向于使用 MongoDB 和 Neo4j 之类的数据库,并且通常将它们作为服务运行,因为这通常是我在生产中使用这些数据库的方式,所以如果我最终在 Windows 机器上运行这些数据库,这可能会有点麻烦(取决于我尝试模拟的生产设置)

虚拟机设置:

一般的

  • CPU:4 个(共 8 个)
  • 内存:3072 MB(共 8 GB)

选项

    Optimization
  • 表现:更快的 Mac(这可能不是直观的,但我发现它有助于消除导致系统噪音和潜在过热问题的瓶颈)
  • 启用自适应虚拟机管理程序: 真的
  • 调整 Windows 以提高速度: 真的
  • 力量:电池寿命更长(否则我会遇到过热问题)
  • 可用空间:自动压缩虚拟硬盘:true(这不会给我带来任何性能问题,因此我一直保持这个状态)

    Security
    
  • 所有选项均设置为 false,未启用加密,撤消磁盘设置为禁用

    Applications
    
  • 当没有打开任何应用程序时暂停 Windows: 真的
  • 网页:在 Mac 中打开
  • 电子邮件:在 Mac 中打开

    Coherence
    
  • 使用水晶模式: 真的
  • 在菜单栏中显示 Windows 通知区域: 错误的
  • 允许应用程序切换到全屏: 真的
  • 禁用 Windows Aero:false(如果禁用此功能,您将获得更好的性能,我只是一个非常注重视觉的人,并且决定在 Coherence 模式下保持 Aero 开启)

    Full Screen
    
  • 使用 Mac OS X 全屏: 真的

    Advanced
    
  • 智能鼠标: 汽车

硬件

    Video
  • 显存:512 MB(共 1 GB)
  • 启用 3D 加速: 真的
  • 启用垂直同步: 真的

Mac 软件

  • 免费记忆专家:众所周知,Mac 在管理未认领内存方面做得非常糟糕。有时,我会运行我的 VM(只要应用程序正在运行,就会自动占用 3 GB 的配置)、两个 Eclipse 实例(不同的配置)、Aptana、几个浏览器会话、几个终端会话、我的 VPN 和我的 Office 应用程序。此时,我的内存可能在 50-200 MB 左右 - 我发现,如果我每天使用 Free Memory Pro 清理内存一两次,我的 Mac 仍然可以运行,没有任何过大的噪音或热量,并且即使打开了上述所有应用程序,也仍然有大约 1.2 GB 的可用内存 :) 在我看来,Mac 应该免费提供这个程序,但下次你深夜去 Wendy's 时……只需放弃那些 1 美元的 5 块鸡块菜单之一,而购买这个程序 - 它绝对值得

答案2

我在 Mac Pro 和 MacBook Pro 上都使用过 VMware Fusion 3.0 上的 Win7 虚拟机。我没有遇到任何性能问题,这两个系统上的虚拟机性能都非常好。当我将虚拟机配置为具有 1 GB 的 RAM 时,Win7 的效果最好。(完全披露:我在 VMware Fusion 上工作。)

我个人还没有尝试在虚拟机中运行 Visual Studio,但这样做过的人告诉我,只要您正在编译的源代码存储在虚拟硬盘上,构建时间就会很好,尽管它们比本机性能略慢。

我听说将代码存储在“网络”驱动器上(主机上的 HGFS 共享或 NFS/CIFS 共享,通过虚拟以太网设备访问)是个坏主意。显然,这种配置下的构建性能非常糟糕。

希望这能有所帮助!
杰森

答案3

不久前,我说服我的同事给我买了一台 Mac Pro,而不是我打算买的同类联想电脑(他们接受了这个想法,因为最后便宜了 800 美元,Mac 电脑并不总是最贵的 :) )

由于我对早期版本的最初体验,我一直使用 Fusion 而不是 Parallels。我有一台 Windows 7 x64 VM,用于 Visual Studio,并将所有我能用到的程序卸载到 OS X。它一直运行良好。VS2008 加载速度快,构建速度快等等。

最近我一直在使用 VS2010,我注意到性能受到了显著影响。由于最近对版本 5 性能的所有评论,我决定再次尝试 Parallels。Parallels 和 Fusion 都运行良好,但 VS2010 在 Parallels 和 Fusion 上的性能差异非常明显。

因此,对于您最初的问题,我认为如果您可以将大部分其他工作转移到 OS X 上,那么只需虚拟化 Windows 进行开发就足够了。Fusion/Parallels 的性能已经取得了长足的进步,不断重新启动以切换操作系统以获得性能提升是一件很麻烦的事情。如果您使用的是 VS2010,我现在可能会推荐 Parallels,因为 Fusion 的速度会变慢。(我认为这可能与 VS2010 使用 WPF 有关,而 WPF 在 Parallels 中的速度可能更快)

答案4

如果要快速完成某项任务,我会使用 VMWare Fusion 2.0.6 从 BootCamp 分区运行 Windows。如果要进行一些重要的调试或修复,我会使用 BootCamp 重新启动。BootCamp 速度更快,但如果大部分时间都要花在重新启动两次上,我会选择 Fusion。

不利的一面是,Fusion 无法看到我的 Mac Pro 的所有核心(我只能为其分配最多 2 个核心,而我很乐意分配 4-6 个处理器。)因此,使用 BootCamp 绝对可以最大限度地利用 XP 可以访问的资源。

相关内容