在我的台式计算机上,我有 VirtualBox,我可以运行很多并发虚拟机,达到接近本机速度。
在我的服务器上,它比我的台式机强大一倍,我有 debian+VMware 服务器 1.0(因为我不喜欢 2.0 引入的 java 膨胀),如果我运行单个 VM,它会运行到接近原生速度。真正的瓶颈是磁盘访问速度:如果我同时启动两个(是的,只有 2 个!)VM(阅读:服务器何时启动),服务器将瘫痪 40 分钟!启动 2 个 Windows 虚拟机需要 40 分钟!完全没用!当我在 Celeron 400 Mhz 上安装 VirtualPC 时,我的性能更好!!!!如果我搜索“vmware slow hdd access”,我会得到大量结果,所以,我认为这是一个巨大的 VMware 问题,对吧?
所以我在想这个动作之一:
- 用 RAID 0 中的两个 SSD 替换服务器 HDD
- 切换到 Proxmox VE
有人试过 Proxmox 吗?它有多好?它会解决瓶颈吗?我没有另一台备用服务器来试验,所以,如果我擦我的服务器来玩 proxmox,我将失去至少 2 个工作日......
当我为虚拟机分配太多内存时,我已经看到了这种行为。当我启动一个从主机操作系统中获取超过某个阈值的内存的虚拟机时,除了硬盘驱动器 LED 之外,所有东西都会死掉。关闭虚拟机需要很长时间。
微调虚拟机的内存占用对我来说是奇迹。
听起来您的设置有严重问题,因为启动几个虚拟机不可能需要 40 分钟。
如果磁盘 I/O 是一个问题,最好的办法是添加驱动器并将驱动器(或 RAID 阵列)专用于每个 VM。
从同一个硬盘驱动器启动两个虚拟机会导致驱动器抖动(磁头从一个地方跳到另一个地方,比实际读取数据消耗更多时间),尤其是当主机操作系统在同一个驱动器上时。分别启动它们以避免这种颠簸,并且您的总启动时间会更短。
我总是尝试将我的虚拟机放在单独的驱动器上,然后不对与其他虚拟机/操作系统共享驱动器(主轴)的任何驱动器执行并发操作。
是的,VMWare Server 的磁盘 IO 性能总体上很一般。我在桌面上使用 KVM 进行本地虚拟化,我们混合使用 Xen 和 VMWare ESX 进行数据中心虚拟化,同时密切关注 KVM 的角色。
您是否在来宾操作系统中安装了 vmware 驱动程序?如果没有,请这样做。
确保您有一个快速的磁盘子系统。多年来,我在 VMware Server 1.0 上运行了四个虚拟机,没有任何问题。刚刚升级到 2,所以我会让你知道这是怎么回事,但到目前为止也没有问题。
在 IO 方面对我有很大帮助的一件事是从 RAID1 切换到 RAID10。昼夜差异。
您可以尝试的另一件事是将以下行添加到 VMware 服务器配置文件中:
并将以下内容添加到您的 .vmx 文件中:
请参阅VMware 论坛上的此帖子。
好吧,你可能不相信,但我擦除了我的服务器(它只有 4 天,所以还没有重要数据)并安装了 Proxmox VE 发行版(Debian 5.0 + Qemu-KVM + OpenVZ)
哇!它比 Debian 上的 VMware 快得多!!!
有区别,现在我解释一下:
VMware 擅长管理 RAM,我的虚拟机未使用的 RAM 留给其他虚拟机使用。但是,IO 会使虚拟机“挂起”,等待模拟器写入硬盘。因此,如果您的 VM 使用 HDD,除非您为每个 VM 设置了 RAID 0+1 或物理 HDD,否则您会对性能感到失望。
相反,qemu-kvm 不会在主机之间共享未使用的 ram,或者它比 VMware 效率低得多(正如我从两个 emu 的 web-ui 中看到的那样),但是,我认为 qemu 会缓存 IO ram 然后写入硬盘。(在web-ui中有一个%指示符“IO delay: 5%”)性能提升真的更好!
我自己仍在处理瓶颈,但我进入了 vm bios 并禁用了所有内存和旧设置,我有一个 10 分钟的 vista 启动到几乎正常..对于一个 vm ..我仍然非常滞后于磁盘写入和读取但是至少机器现在可以工作了。哦,我确实将 vm 的内存从 gig 减少到 512m。我的猜测是 bios 缓存是慢启动的问题(磁盘问题仍在工作)桌面运行良好,但磁盘访问是........BAD。