通过 Windows 7 VMWare Fusion 虚拟机在 2011 MacBook Pro 上开发 .NET

通过 Windows 7 VMWare Fusion 虚拟机在 2011 MacBook Pro 上开发 .NET

我似乎找不到重复的问题,所以如果这个问题已经被问过,请原谅(并重定向)我。

我最近刚买了一台 2011 MBP。我是一名 .NET 开发人员,因此完全依赖 Visual Studio 2010、IIS 7.5、SQL Server 2008 R2 等。我希望能够在我的 MacBook 上以 VM 形式运行 Windows 7,并尽可能避免运行 bootcamp(我已经这样做了很多年,想尝试另一种方式)。

我计划安装 8 GB 的 RAM,并使用 OptiBay 或 OWC Data Doubler 将超级驱动器换成 SSD。我认为如果 VM 位于 SSD 上,我可以获得不错的性能。我听说将 VM 放在与主机操作系统不同的驱动器上是一种很好的做法,因此我计划将 OSX 安装在计算机附带的 HDD 上。

有人试过这个吗?我很好奇你的结果是什么。我用无数种不同的搜索词组合在 Google 上搜索过,但没有找到任何人有这样做的亲身经历。同样,如果你这样做过,请告诉我虚拟机的性能是否接近在 HDD 上本地运行时的性能。如果我的这个想法很愚蠢,或者有更好的方法来使用 SSD,请告诉我!

谢谢!


20110607 - 这篇文章也有一些很好的相关信息:VMWare Fusion - Windows 7 和 XP 哪个运行得更好?32 位还是 64 位?我仍在等待 SSD 等……到时候我会根据我的经验更新这篇文章。


20110711 - 我安装了 SSD!我将 OSX 中除用户文件夹之外的所有文件夹都移到了 SSD 上,我还在 SSD 上托管 Windows 7 VM。SSD 上仍有 115 GB 中的 60 GB,因此空间看起来不错。性能?以下是原始数据......(我对实际性能非常满意):

Windows 7 体验指数(虚拟机配置了 2 个 CPU 和 4GB RAM):

  • 处理器:7.3
  • 内存(RAM):7.9
  • 图形:5.9
  • 游戏显卡:5.3
  • 主硬盘:7.9!

OSX Snow Leopard XBench 分数(Windows 7 VM 运行时):

  • 结果:313.12
  • CPU测试:207.48
  • 线程测试:795.15
  • 内存测试:522.65
  • 石英图形测试:275.75
  • OpenGL 图形测试:206.00
  • 用户界面测试:464.63
  • 磁盘测试:267.94!(使用原装 5400 RPM HDD 时为 55.54)

OSX Snow Leopard XBench 分数(Windows 7 VM 关闭时):

  • 结果:319.76
  • CPU测试:218.13
  • 线程测试:802.30
  • 记忆测试:546.90
  • 石英图形测试:300.34
  • OpenGL图形测试:204.10
  • 用户界面测试:451.10
  • 磁盘测试:264.10

因此,从本质上讲,除了可观的图形性能之外,这台机器的速度也非常快。我的 OSX 启动到运行只需不到 20 秒。OSX 通常一次加载应用程序,甚至 Word 2011、Photoshop CS5、Lightroom、iTunes(带有 60GB 库);并且应用程序在出现后立即运行。Windows 7 通过 VM 启动到运行只需不到 30 秒。SQL Server 完全加载需要 2-3 秒,Visual Studio 也是如此,加载/重建大型(解决方案中约 20 个项目)解决方案大约需要 12-15 秒。

我非常满意,尤其是虚拟机的性能水平,它让我可以使用 OSX 进行通信、图像编辑、公共互联网浏览等,而虚拟机仅用于编写代码和 SQL。我可以使用空格来缓解单屏问题,如果我想访问一些我的生活内容,好吧——我在 OSX 中,一切都在那里。另一个很大的好处是,我可以从我的 Mac 浏览器测试虚拟机上 IIS 本地托管的站点,这对我来说就像魔术一样(使用桥接网络,在 Windows 防火墙中打开端口 80,使用 ipconfig 获取虚拟机的本地 IP,并在 OSX 中的 /etc/hosts 中添加相应的条目)。我喜欢它。

希望这些信息能够帮助那些想做类似事情的人!

答案1

我还没有尝试过,但理论上来说:你总会遇到一些延迟,因为虚拟机永远不会以本机速度运行。性能肯定会提高,因为操作系统执行的许多操作都是 I/O 密集型的(在这种情况下可能做一些事情比主机操作系统更快,但一般来说,计算事情总是会稍微慢一些)。

但是,仅将 SSD 用作 VM 的驱动器似乎很奇怪(而且,我从未听说过这种“良好做法”)。大多数人会将其用作主系统驱动器,以加快启动等操作。但我明白你的意思。
我担心的是 SSD 磨损。问题是:VMWare 将整个磁盘保存到一个文件中。客户操作系统对底层硬件一无所知,因此它无法做任何事情来延长 SSD 驱动器的使用寿命。有许多重写、删除。我不确定 OS X 是否能够正确发出 TRIM 命令来释放重写/删除的块。

此外,您可能还想阅读以下内容:http://communities.vmware.com/thread/264065http://www.vmadmin.info/2010/10/vmware-fusion-ssd-performance.html

对我来说,更好的解决方案是本地安装两个操作系统,在 SSD 上安装 Windows,在 HDD 上安装 OS X(如果您确实更频繁地使用 Windows)。

我们确实需要在此方面进行更多的研究。

答案2

VM 的最大瓶颈是 3D 图形,然后是磁盘 I/O。听起来后者更令人担忧。

很难说。虽然与 2008 相比,VS 2010 相当笨重,但您没有说明您的构建(解决方案)是什么样子。如果您只处理包含 5 到 20 个项目的解决方案,那么性能就很容易了。我处理一个解决方案中最多包含 5 个项目的小型解决方案(业余 .Net)。我有一台非常慢的笔记本电脑(HP tz2500),但我从未发现任何重大问题。过了五个之后我可能就会开始担心了。

不过瓶颈确实会出现在构建期间。调试不应该改变,因为你只是在逐步执行。不过我会小心使用新的 Intellitrace。我会通过编写一个程序来测试它,该程序会进行小规模的零星写入(例如每秒一次),运行它几分钟并让 Intellitrace 记录它们。如果 VS 没有锁定,那就没问题了。

相关内容