优点和PC
回答
如果将使用VMWare,请将您的RAM装载到未来的MacBook Pro上。我还没有(和)其他几个(苹果机)应用程序的表现开始真的开始感觉迟缓。
一切顺利。
这对展示发展会谈很有帮助,您可以恢复快照,并且每次都从完全相同的起点发表演讲。
我在做与Visual Studio的一些工作,最近与Windows XP虚拟机上的Linux和莫名其妙谁做的VM的家伙(VMware的)所做的Windows机器实际运行速度更快。我们做了一些时间测试以确保它不是主要的,但是有一些事情(例如自动完成)真的弹出得更快。
这取决于您正在开发什么和使用哪种语言。
虚拟机在磁盘访问上往往会受到相当严重的打击,所以编译可能会显着减慢,特别是对于大型C/C++项目。不知道这是.NET/Java的问题。
如果你正在做任何图形密集型(3D,视频等),那么我也会避开虚拟机。
的一个问题,我发现(至少使用VMWare服务器时)是,无论你的机器有多快,屏幕刷新率仍然是围绕〜30Hz的。在使用它一段时间后,这会造成稍微不愉快的体验。
我不知道这是否是非常有用作为开发平台,除非你正在做的事情是关系到软件,你不想安装了您正常工作的机器上或需要解决某一事件您需要能够定期重置。当您使用可能会导致计算机崩溃的代码时,它也可能非常方便,因为它至少只会使您的虚拟机崩溃。
对于测试不同的配置和设置 - 与安装程序等一起工作,这就是我所关心的虚拟化真正发光的地方,能够在需要的时候将事物回滚并反复运行在最终用户遇到问题之前识别问题非常有用。
对于web开发,我喜欢将serverpart分成虚拟机。我目前的设置是一个MacBook Pro,里面有几个Debian虚拟机。我喜欢它的隔离方面。我可以在服务器上尝试新软件,并有能力在出现问题时恢复它们。
我在主机系统上的Textmate中通过网络共享(samba)进行编程。
如果你在Windows上,Virtual PC对于开发工作来说是相当不错的。VMWare虚拟服务器并不是真正用作桌面的,你会因为长时间的使用而感到厌倦。 Sun的VirtualBox是与Virtual PC竞争的另一种选择。 VMWare有一个工作站产品,但它不是免费的。
通常,我会在真实桌面上进行开发(非虚拟),然后对虚拟机进行部署或测试,以便我可以快照并轻松回滚。
我现在在哪里工作,因为我没有管理员权限访问我的XP基本副本,所以我使用虚拟机进行所有开发。
优点: 我喜欢使用虚拟机,因为它给了你一定的灵活性 - 你可以在机器之间切换 - 在两个机器上运行程序并且有一个很酷的环境来工作。
缺点:
您必须启动多个操作系统。这需要时间,内存和资源。
虚拟机上的剪贴板操作有时会很有趣。有时候复制到剪贴板不起作用,或者在虚拟机之间混淆。 (使用VMWare)。
插入USB驱动器和其他外部设备时,文件操作可能很有趣。虚拟机有时看不到这些设备,有时确实如此。
如果您的VM映像成为腐败 - 在它你可以轻松松的一切....除非是备份.....
VM的另一个优点是有一个干净的安装基础。除了开发之外,我还使用我的台式机和笔记本电脑进行大量的工作你永远不知道你安装的一款软件何时会发生冲突,或者如果小小的调整以及你不玩的东西都会破坏你的操作系统。重新安装/配置所有工具,使其完全符合您的需要可能需要一段时间。如果您拥有开发虚拟机映像的备份,则可以尽可能多地搞乱PC,但仍可以在无需停机的情况下进行编码。它还可以让你在一个你喜欢Linux或MacOS的盒子上运行Win/Visual Studio/Etc。
您也可以制作同一个图像的多个副本,并将每个副本用于单独的项目。
能够在笔记本电脑/台式机/服务器/远程连接之间转换并始终处于相同环境中也非常有帮助。
在家里开发时,我必须VPN到我的公司才能使用Intranet上的协作工具。我还有一台台式电脑和笔记本电脑通过Synergy连接在一起。
我的问题是,我们的VPN软件希望事情变得如此安全,以至于它会强制通过VPN网关的所有网络路由 - 即使我使用额外的NIC通过单独的网络连接我的台式机和笔记本电脑私人网络。最终的结果是,我无法同时在台式机和笔记本电脑和VPN之间使用Synergy。
由同事建议给我的解决方案是在我的桌面上安装一个VM实例,并将其用于我所有的VPN需求。奇迹般有效!
很长一段时间以来,我们一直在开发非常早期的Visual Studio 2005以及与之相关的.Net位。为了保护我们的真机免受与预发布软件相关的各种问题,我们在虚拟机中完成了我们所有的开发工作。它运作得非常好。我一直在考虑回到那种模式,因为它使物理硬件升级变得简单(更不用说通过更换整个机器来处理硬件故障更容易):您只需复制VM映像即可。
在我目前的机器上(Core 2 Duo配备4GB内存),运行一个虚拟机时性能下降几乎不明显。然而,运行两个VM是痛苦的。
我也无法弄清楚如何让VMWare Server在两台显示器上正常工作。
我不想在虚拟机中开发虚拟机,就像在虚拟机中测试一样。例如,设置一对虚拟机来模拟n层体系结构或客户机 - 服务器设置,或者最终只是在多个操作系统上测试代码可能会很好。
从在Ubuntu VM中开发java的个人经验在Windows 7上,我发现这很有成效。主要是因为我的本地IT支持支持Windows 7,因此我可以执行诸如访问Windows中的所有本地文件共享和打印机等功能,然后将我的Ubuntu VM配置为我心中的内容。
远程访问和桌面共享的巨大生产力优势。 Windows使我能够非常快速和轻松地使用诸如logmein.com和join.me之类的工具从家中和台式机访问我的计算机与公司中的其他人共享虚拟机(都可以在近乎全屏的窗口中与虚拟机无缝地工作) 。这些服务在Linux上都不支持,我不想在Ubuntu上处理所有关联的VNC/X设置和网络配置。
我的机器相当结实。四核,16Gb RAM - VM 8Gb。虚拟机中的Java开发非常快速。
添加专用和“原始”连接到VM映像的第二个驱动器将允许本地读/写速度 - 但需要专用驱动器/分区。 – 2008-10-03 16:40:20