我在我的双核 Athlon 服务器上运行 VMware Server 2.0.2,它有 4 GB RAM 和一个带有两个 400 GB SATA 硬盘的 RAID1。此服务器一次运行三个虚拟机。
主机系统是 Debian 5 x64,安装了最新内核和所有更新。除了 VMware Server,它不运行其他任何东西。
VM 确实使用非固定硬盘映像。我正在运行两个 VM,每个 VM 有 768 MB 的 RAM,第三个使用 1.5 GB 的 RAM,因此主机系统应该还有另外 GB 的可用 RAM。
两台 VM 安装了 Ubuntu 9.10 x64,另一台使用 Debian 5 x64。
我的问题是性能很差。在其中一个虚拟机中,我使用 mod_rails (Phusion Passenger) 运行 Apache。没有一个虚拟机必须处理非常重的负载。因此,在闲置一段时间后,Passenger 进入睡眠状态。再次唤醒它最多需要 45 (!) 秒,在此期间,由于再次唤醒它时产生的负载,VM 不再真正响应。VM 中的负载表峰值高达 10.00,在我看来,这是不正常的。在(非虚拟化)测试系统上,我看不到这样的行为,所以它必须是 VMware 服务器,不是吗?
有时,即使是简单的 SSH 连接到其中一个 VM,也会产生非常高的负载,高达 8.00。
有人告诉我,可以将精确数量的 CPU 功率和其他资源引导到 VM,但我真的不知道要寻找什么。不幸的是,谷歌也没有告诉我。
任何帮助表示赞赏。
这可能不是你想听到的,但是......
忘记 VMware Server 并安装 ESXi。它是免费的,保证您体验到比 VMware Server 更高的性能。
VMWare 的一个(许多)基本优化步骤是:避免使用非固定磁盘!
如果您有一个经常写入的客户机(我认为 Apache 会不断写入少量用于缓存、日志等)VMWare 需要不断增加磁盘大小。如果您并行执行 3 次,并使用 SATA 磁盘——这些磁盘并没有真正针对繁重的并行读/写操作进行优化——它会让您的系统非常容易进入超慢动作。也可能发生,来宾进程在进入睡眠状态时换出它们的 RAM,这也意味着大量写入 - 并且主机磁盘再次增加......
您应该将 vmware-guest-addons 安装到您的虚拟主机:在我的设置中,这一步提高了性能。
在一个 cpu 核心上拥有一个 VM 并为系统留一个核心总是一个好主意:
例如:你有一个四核,你可以在上面处理 3 个非常高性能的主机
问题取决于芯片:在一个双核芯片上具有 3 个 vm 和主机,所有 vm 都“争夺”cpu 资源——除此之外,进程调度程序需要大量的 cpu 时间给自己.
现代芯片在每个内核上都有某种多线程,所以这个问题并不难