久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

CPU 和內(nèi)存虛擬化的原理是什么

共計(jì) 977 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。

CPU 和內(nèi)存虛擬化的原理是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面丸趣 TV 小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

CPU 虛擬化

KVM 的虛擬化是需要 CPU 硬件支持的。還記得我們?cè)谇懊娴恼鹿?jié)講過用命令來查看 CPU 是否支持 KVM 虛擬化嗎?

root@ubuntu:~# egrep -o  (vmx|svm)  /proc/cpuinfo
vmx

如果有輸出 vmx 或者 svm,就說明當(dāng)前的 CPU 支持 KVM。CPU 廠商 Intel 和 AMD 都支持虛擬化了,除非是非常老的 CPU。

一個(gè) KVM 虛機(jī)在宿主機(jī)中其實(shí)是一個(gè) qemu-kvm 進(jìn)程,與其他 Linux 進(jìn)程一樣被調(diào)度。比如在我的實(shí)驗(yàn)機(jī)上運(yùn)行的虛機(jī) kvm1 在宿主機(jī)中 ps 能看到相應(yīng)的進(jìn)程。

虛機(jī)中的每一個(gè)虛擬 vCPU 則對(duì)應(yīng) qemu-kvm 進(jìn)程中的一個(gè)線程。看下圖

在這個(gè)例子中,宿主機(jī)有兩個(gè)物理 CPU,上面起了兩個(gè)虛機(jī) VM1 和 VM2。VM1 有兩個(gè) vCPU,VM2 有 4 個(gè) vCPU。可以看到 VM1 和 VM2 分別有兩個(gè)和 4 個(gè)線程在兩個(gè)物理 CPU 上調(diào)度。

這里也演示了另一個(gè)知識(shí)點(diǎn),即虛機(jī)的 vCPU 總數(shù)可以超過物理 CPU 數(shù)量,這個(gè)叫 CPU overcommit(超配)。KVM 允許 overcommit,這個(gè)特性使得虛機(jī)能夠充分利用宿主機(jī)的 CPU 資源,但前提是在同一時(shí)刻,不是所有的虛機(jī)都滿負(fù)荷運(yùn)行。當(dāng)然,如果每個(gè)虛機(jī)都很忙,反而會(huì)影響整體性能,所以在使用 overcommit 的時(shí)候,需要對(duì)虛機(jī)的負(fù)載情況有所了解,需要測(cè)試。

內(nèi)存虛擬化

KVM 通過內(nèi)存虛擬化共享物理系統(tǒng)內(nèi)存,動(dòng)態(tài)分配給虛擬機(jī)。看下圖

為了在一臺(tái)機(jī)器上運(yùn)行多個(gè)虛擬機(jī),KVM 需要實(shí)現(xiàn) VA(虛擬內(nèi)存)– PA(物理內(nèi)存)– MA(機(jī)器內(nèi)存)直接的地址轉(zhuǎn)換。虛機(jī) OS 控制虛擬地址到客戶內(nèi)存物理地址的映射(VA – PA),但是虛機(jī) OS 不能直接訪問實(shí)際機(jī)器內(nèi)存,因此 KVM 需要負(fù)責(zé)映射客戶物理內(nèi)存到實(shí)際機(jī)器內(nèi)存(PA – MA)。具體的實(shí)現(xiàn)就不做過多介紹了,大家有興趣可以查查資料。

還有一點(diǎn)提醒大家,內(nèi)存也是可以 overcommit 的,即所有虛機(jī)的內(nèi)存之和可以超過宿主機(jī)的物理內(nèi)存。但使用時(shí)也需要充分測(cè)試,否則性能會(huì)受影響。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝您對(duì)丸趣 TV 的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-25發(fā)表,共計(jì)977字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 且末县| 伊通| 武宁县| 宜都市| 琼中| 洛阳市| 成武县| 崇阳县| 虎林市| 迭部县| 上虞市| 朔州市| 防城港市| 鹿泉市| 南昌县| 巴楚县| 滦平县| 万安县| 庆云县| 从江县| 丁青县| 龙井市| 庆阳市| 澳门| 甘泉县| 射阳县| 安陆市| 修水县| 霍邱县| 濉溪县| 台安县| 铁岭市| 前郭尔| 常宁市| 滨州市| 山阳县| 福州市| 桑日县| 馆陶县| 内江市| 通州区|