LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: hualala

用虚拟机装个windows有多大代价?

[复制链接]
发表于 2005-7-15 16:50:43 | 显示全部楼层
Post by jhuangjiahua
VM 里的 Win2000 比 Win98 快很多

我在 256M 内存的 PIII 850 上在 VM 里跑 Win2K
运行 AutoCAD 速度不错

wine 跑 AutoCAD 真是恶梦


我不知道AutoCAD是不是比较特殊。
但是我的经验是,如果wine可以运行的win32程序,其效率总是比虚拟机要快很多。
我的经验主要是针对编译器,包括VC编译器、Keil编译器等,还有NSIS等包含压缩功能的软件。
我想这是有道理的,因为虚拟机执行的时候,每个周期执行一个x86指令(我猜的,也可能是多个),但是wine每次获得win32调用的时候,执行的x86指令是一个完整的API函数,执行的粒度比较大,相当于native执行的代码比例比较大,所以速度快。
尤其是在GUI的响应速度、CPU密集运算等应用中,wine应该有比较明显的优势──如果wine支持当前的win32软件的话。
回复 支持 反对

使用道具 举报

发表于 2005-7-15 20:09:48 | 显示全部楼层
win4lin吧
开机只要10S左右
前几天刚弄好
上网也没问题
回复 支持 反对

使用道具 举报

发表于 2005-7-15 23:37:20 | 显示全部楼层
mrkissinger :
未必

看你的是什么虚拟机

如果是像 bochs 之类的那样模拟 CPU , 那确实会非常慢 , bochs 相当实际机器的 1/500


可是像 vm , qemu 之类的并不是模拟 cpu , 速度是不会太慢的
一般认为 qemu 速度是实际机器的 1/4
使用 kqemu 加速后要快好多

vm 的速度更要快

所以经管你可能不愿意相信

可是wine 下的程序速度确实未必比 vm 快

AutoCAD 可能不是很多人用
但是在wine 跑过 IE 的大概都知道 wine 下的 IE 是非常慢的
vm 里的 就几乎和实际机器上真实的 win2K 上差不多


另外 , vm 里的 Win2K 也确实比 Win98 快很多
回复 支持 反对

使用道具 举报

发表于 2005-7-15 23:39:16 | 显示全部楼层
补充一下
我现在用的机器是 PIII 850 , SD 256M
回复 支持 反对

使用道具 举报

发表于 2005-7-16 00:17:59 | 显示全部楼层
vmware虚拟的硬盘用是ata33的...
我怎么记得有谁说过在linux下用vmware中的xp比你装上去的XP快
一个ata33..一个至少ata100........
无语.........
回复 支持 反对

使用道具 举报

发表于 2005-7-16 01:40:03 | 显示全部楼层
Post by jhuangjiahua
mrkissinger :
未必

看你的是什么虚拟机

如果是像 bochs 之类的那样模拟 CPU , 那确实会非常慢 , bochs 相当实际机器的 1/500


可是像 vm , qemu 之类的并不是模拟 cpu , 速度是不会太慢的
一般认为 qemu 速度是实际机器的 1/4
使用 kqemu 加速后要快好多

vm 的速度更要快

所以经管你可能不愿意相信

可是wine 下的程序速度确实未必比 vm 快

AutoCAD 可能不是很多人用
但是在wine 跑过 IE 的大概都知道 wine 下的 IE 是非常慢的
vm 里的 就几乎和实际机器上真实的 win2K 上差不多


另外 , vm 里的 Win2K 也确实比 Win98 快很多


jhuangjiahua,我先声明,我不是跟你论战,而是确实觉得这个话题比较有意思,而且我们的讨论可能会给很多朋友带来借鉴的意义。为避免讨论中可能出现的磨擦,这里先行提议大家就事论事。


我最早用的是qemu+kqemu(都是CVS获得后自己编译的,用惯了Linux,盗版有点不好意思),跑Linux和FreeBSD的时候没有仔细的比较(官方网站说比真实环境慢1-2倍)。
但是qemu确实有一个问题,那就是他完全虚拟了一个SVGA。这个在非x86平台上是个提高移植性的优点,但是对于x86平台,就显得浪费了──已经有显卡了,何苦不用?显卡的显示芯片是DSP芯片,比通用CPU的性能高数倍,模拟当然要慢很多。

VMware支持通过专用vmware tool来使用真实的显卡(准确的说是调用host的显示驱动),所以显示速度有一定的提升。
但是,即使是这样,vmware tool是作为windows的驱动来运行的,win32 kernel在中间参合了一把,做了无用功,性能当然下降。具体表现就是鼠标反应速度不尽人意,屏幕处理速度较缓慢。根据vmware的说明,关闭了所有不需要的服务和windows的视觉效果,并进行全屏,还是不行(可能我的屏幕稍微大一点,1280x1024)。

事实上,由于win32 kernel永远需要有各种在运行的服务(起码有个时钟中断响应什么的),vm在执行机器指令的时候是要不断被打断的,而且是软件级别的打断。而wine的执行过程中,不存在win32 kernel的打断和额外资源占用,性能必然要高。

qemu/bochs/vmware/virtual pc这些模拟硬件的软件都比较成熟了,而wine可能永远只能是Alpha版,因为硬件系统本来就比windows简单得多。如果vm方法真的可以有这么好的效果,wine项目根本不会开始。wine=Wine Is Not Emulator,wine的创始人非常清楚有emulator可以完成同样的任务,而且不存在软件兼容问题,但是如果不通过API级的模拟,性能永远会落后native运行很多。

vm方式下你不仅在运行应用程序,还同时在运行OS,而wine仅仅是运行应用程序,结论应该是显而易见的。

我使用的平台:
Celeron 2.0G/1G DDR/nVidia GeForce4 MX 440
Debian experimental+2.6.11.6自编译内核(单内核方式)
vmware 5.0
qemu 0.7.0cvs+kqemu 0.6.2
wine 20050520cvs

比较过的软件有:
Visual C++ 6.0
Keil C 7.5
NSIS
金山词霸
protel 99se
回复 支持 反对

使用道具 举报

发表于 2005-7-16 01:46:27 | 显示全部楼层
jhuangjiahua,我猜会不会因为你的内存稍微小一点,主要的时间其实都是虚拟内存交换页占用了,所以你感觉不出来差别?

在我的机器上完全使用的是物理内存,差别相当明显。
回复 支持 反对

使用道具 举报

发表于 2005-7-16 07:15:36 | 显示全部楼层
我学校也是使用港湾网络,我们在linux上网的问题已经解决,你可以看看下面的两篇文章,或许对你有帮助。

校园网上网拨号软件----linux版本
校园网上网拨号软件-linux版本(适合内核2.6以上)
回复 支持 反对

使用道具 举报

发表于 2005-7-16 11:53:24 | 显示全部楼层
mrkissinger : 我没有用过 VM 的全屏

我说的是我机器上的情况

也许原因正是由于你说的 , 我的 CPU 偏慢 , 内存偏小 ( 内存跟楼主的一样是 256 )

不过我这儿确实是VM 里的要比 wine 快  ( 注意一下 是 wine 跟 vm 比)
VC , VB 之类在我的 wine 里无法运行

我自己的机器上没有 真实的 Windows , 说差不多是跟实验室里的 PIII950 相比的

VM 里跑 Win2K 主要也就是跑 AutoCAD , 测试 ming32 等
回复 支持 反对

使用道具 举报

发表于 2005-7-16 19:03:14 | 显示全部楼层
jhuangjiahua,你是哪里的master还是doctor?
认识一下吧,我的email是mrkissinger@users.sourceforge.net
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表