很顯然,這種完全以軟體模擬硬體的形式雖然功能強大,但是效能難以滿足使用者的需要。模擬出的硬體的效能和物理硬體的效能相比,必然會大打折扣。為了提高虛擬機器軟體的效能,開發者們各顯神通。其中,最常用的辦法就是在主作業系統中通過核心模組開乙個洞,通過這個洞將虛擬機器中的操作直接對映到物理硬體上,從而提高虛擬機器中執行的作業系統的效能。如下圖:
其實virtualbox也是採取的這種核心模組加速的模式。我之所以這麼說,是因為在安裝virtualbox時,它會要求安裝dkms。如下圖:
kvm和qemu是相輔相成的,qemu可以使用kvm核心模組加速,而kvm需要使用qemu執行虛擬機器。從上圖可以看到,如果要使用ubuntu的包管理軟體安裝kvm,其實安裝的就是qemu-kvm。而qemu-kvm並不是乙個什麼很複雜的軟體包,它只包含很少量幾個檔案,如下圖:
用man命令檢視一下它的文件,發現qemu-kvm包不僅包含的檔案很少,而且它的可執行檔案kvm也只是對qemu-system-x86_64命令的乙個簡單包裝,如下圖:
那麼問題來了,kvm核心模組究竟是由哪個包提供的呢?其實,自從linux 2.6開始,kvm就已經被加入核心了。如果非要找出kvm核心模組kvm.ko是由哪個包提供的,可以用如下命令考察一下:
可以看出,使用kvm加速後,虛擬機器中的winxp執行速度提公升了不少,開機只用了34秒。我將解析度調整為1366*768,圖形介面執行也很流暢,不管是開啟ie瀏覽器還是office辦公軟體都沒有問題,再也沒有出現cpu使用率飆公升到100%的情況。如果用 ps -ef | grep qemu 命令檢視一下,發現kvm命令執行的還是qemu-system-x86_64程式,只不過加上了-enable-kvm引數,如下圖:
另外,對於桌面使用者來說,有乙個好用的圖形化介面也是很重要的。雖然qemu和kvm自身不帶圖形介面的虛擬機器管理器,但是我們可以使用第3方軟體,比如virt-manager。只需要使用 sudo apt-get install virt-manager 即可安裝該軟體。該軟體依賴於libvirt,在安裝過程中也會自動安裝。執行virt-manager的效果如下圖,注意必須使用sudo執行,因為該軟體需要超級使用者許可權:
該軟體可自動識別系統中的虛擬機器環境是qemu+kvm還是xen。新建乙個虛擬機器,由於之前安裝過乙個winxp系統,所以選擇匯入現有硬碟映象。點下一步後,出現如下介面:
這一步沒什麼好說的,再點下一步,如下圖:
這裡可以設定網路選項。如果勾選「在安裝前自定義配置」的話,還可以對硬體進行進一步的自定義,如下圖:
在上圖中,我們可以看到虛擬機器支援的所有虛擬顯示卡的型別,在這裡,我當然選擇的是vmvga,因為我以前經常用vmware,知道這些作業系統在vmware的虛擬顯示卡設定下執行得都沒有問題。當然,其它的選項都可以試一下,不過在虛擬的作業系統中需要安裝相應的驅動程式。
最後,虛擬機器執行的效果圖如下:
可以看到,該程式提供的介面有非常豐富的功能選單,功能是非常強大的,甚至可以向虛擬機器中的作業系統傳送組合按鍵。
Linux江湖20 虛擬機器體驗之KVM篇
很顯然,這種完全以軟體模擬硬體的形式雖然功能強大,但是效能難以滿足使用者的需要。模擬出的硬體的效能和物理硬體的效能相比,必然會大打折扣。為了提高虛擬機器軟體的效能,開發者們各顯神通。其中,最常用的辦法就是在主作業系統中通過核心模組開乙個洞,通過這個洞將虛擬機器中的操作直接對映到物理硬體上,從而提高虛...
1 虛擬機器體驗之QEMU篇
說起虛擬機器,大家都不陌生。需要使用虛擬機器的場景也非常的多,比如有志於寫作業系統的同志,往往需要乙個虛擬機器來執行和除錯他寫的系統 再比如喜歡研究網路體系結構的朋友,需要在自己的電腦上虛擬出n個系統組成各種各樣的網路。這個需要電腦的配置夠強大才行,幸好本人的電腦夠。還比如用windows的想玩li...
Linux入門學習教程 虛擬機器體驗之KVM篇
很顯然,這種完全以軟體模擬硬體的形式雖然功能強大,但是效能難以滿足使用者的需要。模擬出的硬體的效能和物理硬體的效能相比,必然會大打折扣。為了提高虛擬機器軟體的效能,開發者們各顯神通。其中,最常用的辦法就是在主作業系統中通過核心模組開乙個洞,通過這個洞將虛擬機器中的操作直接對映到物理硬 件上,從而提高...