织梦CMS - 轻松建站从此开始!

罗索实验室

当前位置: 主页 > 杂项技术 > PC常识 >

VirtualBox 和 Vmware 的比较

落鹤生 发布于 2012-03-22 09:16 点击:次 
几星期前我的XP出了个毛病,每隔几分钟就出现键盘和鼠标没有响应,持续5、6秒钟,怀疑是病毒所致,可是却无从下手。加上这段时间大多数时间都在 ubuntu 下面,使用感觉很不错,于是有了使用它作为主操作系统的想法。
TAG:

几星期前我的XP出了个毛病,每隔几分钟就出现键盘和鼠标没有响应,持续5、6秒钟,怀疑是病毒所致,可是却无从下手。加上这段时间大多数时间都在 ubuntu 下面,使用感觉很不错,于是有了使用它作为主操作系统的想法。可是我的工作要求使用windows下的工具进行编程和测试,完全摆脱windows是不可 能了,只好在ubuntu里面用虚拟机装个XP。我的想法是这个XP只是工作用,越简单越好,只装必要的软件,并且不给它上网,从而避免病毒和木马的骚 扰。这段时间一直在VirtualBox和Vmware之间骑墙,对这两个虚拟机有了一定的了解,做一下总结吧。


先介绍一下基本情况。我有两台电 脑,家里是一个台式机,公司里有一个笔记本,ubuntu 7.04是装在移动硬盘里两台机器共用的。虚拟机用的是VirtualBox 1.4.0和Vmware player 2.0.0 build-45731。Guest OS是Windows XP SP2。



1、易用性


两个虚拟机都挺好用的,安装了各自的guest os工具后感觉相当好。不过它们也各有缺点。


VirtualBox 总是出一些莫名其妙的毛病。我的ubuntu空间不够用了,所以我把虚拟硬盘放在移动硬盘的FAT32分区上,然后做了个链接过来,结果 VirtualBox在台式机上启动后总说我的虚拟机Inaccessiable。有时说WinXP.vdi已经附属于另一个虚拟机了,有时说 Snapshot folder不可访问,让我放弃所有snapshots再试。可是这时在里面根本无法编辑虚拟机的选项,就算想放弃也没办法啊,这点显得有点弱智。我检查 过所有链接和文件权限都没问题,而且换在笔记本上也是好好的没这些毛病,真是一点办法都没有。VirtualBox的共享剪贴板有很多可选设置,比 Vmware player更灵活些。


Vmware我装的是免费的player,所以功能上难免有些限制,改动配置基本靠编辑配置文件。其他还好 了,反正很少改,就是改变光驱属性有点麻烦,在物理光驱和 ISO文件间切换时需要关闭guest os,编辑配置文件后重启。至于在ISO文件间切换比较好办,在配置文件里只是写一个文件链接,需要改变时让链接指向不同的文件即可。Vmplayer全 屏显示时会在屏幕顶端显示一个工具条,可以用来最小化、还原、关闭虚拟机,对习惯鼠标操作的人可能更方便些。Vmare player不支持snapshot,这个的确不大好。



2、速度


VirtualBoxVirtualBox的显示干净利落,一点都不拖泥带水,给人的感觉是运行速度很快,尤其是开机时显示的画面挺顺畅的。


Vmware 起初在我的笔记本里运行速度很慢,启动、关机明显比VirtualBox慢,程序运行速度似乎还行。不过让人难以接受的就是系统时间,基本是每隔7、8秒 虚拟机里才跳1秒,即使打开vmware tools的时间同步也经常比host机的时间慢1~5分钟,这对于编译程序是不可接受的,可能会造成make误以为某些需要编译的模块已经编译过了。而 且其他一些用到计时的程序(比如ping)也不正常。但是在我的台式机上就没有时间变慢这个问题。在网上搜了一下,发现这是一个有悠久历史的问题,按照某 些方法加了内核参数不起作用,昨天终于找到了问题所在:


代码:


cat /sys/module/processor/parameters/max_cstate



我的笔记本里这个值是8,解决方法很简单,只要一行命令:


代码:


echo 1 > /sys/module/processor/parameters/max_cstate



执行完后立竿见影,guest os的时间立刻就跟上了,而且运行速度也明显加快,编译程序时感觉就像在真实的机器里一样快,真舒坦。


感 觉往往是不准确的,所以我进行了一下测试。两个虚拟机的运行环境基本一样,都是只配了硬盘、内存(320M)和网卡,都是通过samba访问 host机上的源文件,装的软件都只是编译必需的,只是vmware的虚拟机里多了一个cooledit,测试时都是开机后直接运行编译命令,编译同一个 工程的用时结果如下(所有的时间都是用host机记录的,虚拟机里的时间不准,尤其vmware差异较大):


ubuntu 7.04 + VirtualBox 1.4.0 + 虚拟XP: 3'36"


ubuntu 7.04 + Vmware player 2.0.0 b45731 + 虚拟XP: 1'42"


真实的XP环境: 1'13"


结果真是让人难以置信啊,差距大的有点离谱,不过却是事实。Vmware的速度是可以接受的,毕竟是虚拟机,而且访问文件时绕了那么多弯子。VirtualBox就有点过分了,无论是文件读写还是编译源文件速度都比其他两个慢。


后来又测试了VirtualBox另外两种内存配置下的编译速度,结果没有什么改观:


ubuntu 7.04 + VirtualBox 1.4.0 + 虚拟XP(128M内存): 4'17"


ubuntu 7.04 + VirtualBox 1.4.0 + 虚拟XP(256M内存): 4'02"


以上速度测试涉及网络、内存等综合因素,尤其是vbox的测试,每次测试变化幅度较大,仅供类似使用环境参考。


为了排除网络速度的影响,我又使用super pi 1.2测试了一下104万位的计算时间,结果两个虚拟机都是47秒,看来virtualbox的网速真是大大拖了它的后腿。



3、虚拟硬盘


VirtualBox一个虚拟硬盘一个文件,在FAT32文件系统上每个虚拟硬盘最大只能是4G,可能不太够用。


Vmware的虚拟硬盘可以分割成若干个2GB大小的文件,对于FAT32这样的文件系统很有用。我感觉linux对ntfs的写操作依然不是很稳定,所以我的移动硬盘还是使用FAT32分区,所以对我来说Vmware更好用。



4、USB支持


VirtualBox的USB支持比较麻烦,需要先解决权限的问题。开始时我用添加usbfs用户组的方法:



代码:


sudo addgroup usbfs



注意usbfs组的id号,假如是1002


然后修改/etc/fstab


添加一行


代码:


none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0



把当前帐号加入到usbfs组中


代码:


sudo usermod -G usbfs -a your_account



结果上面的方法不起作用,后来找到另一个方法:


编辑 /etc/udev/rules.d/40-permissions.rules


找到这行:


代码:


SUBSYSTEM=="usb_device", MODE="0664"



改成


代码:


SUBSYSTEM=="usb_device", MODE="0666"



终于搞定了。


Vmware的USB使用就简单多了,直接点按钮就连接上了。



5、音频


我做的工作跟音频有关,所以对于音频要求还是挺高的。


VirtualBox的音频不是很好,用它自带的虚拟声卡播放时经常会卡一下。用USB耳机就更惨了,断断续续的,似乎有声的时候比无声的时候还少。


Vmware的音频相当好,无论用内置的虚拟声卡还是USB耳机都播放的很顺畅。



6、共享文件夹


两个虚拟机的共享文件夹实现都不完美,读、写文件都没问题,不过设置文件属性(比如修改时间)都不行,本来想用共享文件夹访问需要编译的源码的,由于不能设置文件属性造成编译程序出错,只好作罢。


VirtualBox下使用共享文件夹有时会出错,不太稳定。使用共享文件夹需要使用命令行来建立映射:


代码:


net use x: //vboxsvr/[共享文件夹名称]



ubuntu 7.04里面的Vmware player比较旧,不支持共享文件夹,从vmware网站上下载一个最新的装上就行了。安装过程很简单,基本一路回车。说明文件说可以在网络邻居上浏览 到共享文件夹,可是我的系统里在网络邻居里没看到任何东西,不过通过搜索计算机“.host”找到了,然后直接映射就行了。它的共享文件夹比较稳定,我这 里还没有出过问题。



7、网络


为了远离病毒和木马,本来不想给虚拟机配置网卡的,可是由于上面提到的共享文件夹的问题,只好通过网络来访问host机上通过samba共享的文件。不过我只希望guest和host之间通讯,不需要连到外面的网上。


VirtualBox 我用的是NAT,这种方式配置最简单,host机上不需要做任何操作。guest机启动后就可以通过dhcp分配到IP地址,是 10.0.2.x网段。不过这样的话guest机是可以通过host上网的。为了阻止它连网,我把网卡改成固定IP地址10.0.2.20,并且不配网 关,把DNS设置成127.0.0.1,这样它就不能上网了。可是怎么和host机互连呢?在ubuntu下是看不到VirtualBox的网卡的,不知 道它用什么方法隐藏起来了,不过这个网卡的地址是10.0.2.2,通过这个地址就能访问host机了。


Vmware里用host-only方式就能实现我的要求,使用和配置都非常简单,不多说了。



由上面的比较可以看出,对于我的需求来说Vmware优点更多些,所以在解决了guest os系统时间变慢的问题后我理所当然的选择了Vmware player。

(yufangbo)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www1.rosoo.net/a/201203/15856.html]
本文出处:CSDN博客 作者:yufangbo
顶一下
(4)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容