2012-09-03 50 views
1

对于一个研究项目,我尝试在Ubuntu服务器12.04下的KVM中使用python libvirt绑定启动尽可能多的虚拟机。所有虚拟机在启动后都设置为空闲,并使用最少量的内存。最多的时候,我能够在一台主机上启动1000个虚拟机,此时内核(Linux 3x)无响应,即使CPU和内存使用率都远低于限制(48个内核AMD,128GB内存)。这个,在几百个虚拟机之后,启动过程变得越来越慢。Kvm/Qemu最大虚拟机数量限制

我认为这必须与KVM/Qemu驱动程序相关,因为linux内核本身在处理这几个进程时应该没有问题。但是,我读过Qemu驱动程序现在是多线程的。任何关于这种缓慢的原因的想法 - 或者至少我应该开始寻找的地方?

回答

2

您正在使用qemu-kvm正确引导所有虚拟机,并且在虚拟机数百个虚拟机之后,您会感觉它会变得越来越慢。所以当你觉得它停止使用kvm时,只需使用qemu启动,我希望你看到同样的缓慢。我的猜测是,在那些许多虚拟机之后,KVM(硬件支持)耗尽。因为KVM只是少数附加硬件寄存器的软件层。所以KVM可能是这里的罪魁祸首。

此实验的目的是什么?

-1

已对客人的以下虚拟硬件限制进行了测试。我们确保主机和虚拟机的安装和工作成功,即使达到极限,并且自上一版本(SUSE Linux Enterprise Server 11 SP1)以来没有出现重大性能下降(CPU,内存,磁盘,网络)。

最大。客户RAM大小--- 512 GB

最大。每个访客虚拟CPU --- 64

最大。每个访客虚拟网络设备--- 8

最大。每个访客块设备--- 4个模拟(IDE),20个虚拟(使用virtio-blk)

最大。每个VM主机服务器的虚拟机guest虚拟机数量---限制为所有guest虚拟机中虚拟CPU总数不超过主机CPU内核数量的8倍

有关KVM的更多限制请参考this文件链接