2012-09-03 66 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文件鏈接