VMware Server 2的客户机性能非常差

我在我的双核Athlon服务器上运行VMware Server 2.0.2,配备4 GB RAM,RAID1和两个400 GB SATA硬盘。 该服务器一次运行三个虚拟机。

主机系统是具有最新内核并安装了所有更新的Debian 5 x64。 除了VMware服务器,它不会运行其他任何东西。

虚拟机使用不固定的硬盘映像。 我运行两台768 MB RAM的虚拟机,第三台使用1.5 GB的RAM,因此主机系统应该有另外的GB空闲内存。

两台虚拟机安装了Ubuntu 9.10 x64,另一台使用Debian 5 x64。

我的问题是非常糟糕的performance。 在我使用mod_rails(Phusion Passenger)运行Apache的一个虚拟机中。 没有一个虚拟机必须处理非常重的负载。 所以闲置之后,乘客睡觉。 再次唤醒它需要45(!)秒,在此期间,由于再次唤醒时产生的负载,VM不再真正响应。 虚拟机中的负载计高达10.00,在我看来,这是不正常的。 在(非虚拟化的)testing系统上,我看不到这样的行为,所以它必须是VMware Server,不是吗?

有时候,即使一个简单的SSH连接到其中一个虚拟机也会产生很高的负载,高达8.00。

有人告诉我可以将精确的CPU资源和其他资源引导到虚拟机,但我真的不知道该找什么。 不幸的是Google也没有告诉我。

任何帮助表示赞赏。

这可能不是你想听到的,但是…

忘掉VMware Server并安装ESXi。 它是免费的,你将保证比VMware Server有更好的性能。

VMWare的一个(许多)重要的优化步骤是:避免使用非固定磁盘!

如果你有一个经常写的客人(我认为Apache会不断写入caching,日志等等),VMWare需要不断增加磁盘的大小。 如果你同时使用了三次,并且使用SATA磁盘(对于并行读/写操作来说并不是非常优化的),它将使系统非常容易超慢动作。 它也可能发生,客人进程换出他们的RAM睡觉时,这也意味着很多写入 – 并再次主机磁盘增加…

您应该将vmware-guest-addons安装到您的虚拟主机上:在我的设置中,提高了性能。

在一个cpu-core上有一个虚拟机,而为系统留下一个虚拟机总是一个好主意:

例如:你有一个四核心,你可以处理3个非常perfomant主机

问题依赖于芯片:3个虚拟机和一个双核心芯片上的主机,所有虚拟机都会“争夺”CPU资源 – 除此之外,进程调度器还需要大量的CPU时间。

现代芯片在每个内核上都有一些multithreading,所以这个问题并不难