QEMU KVM虛擬化 CPU管理

2022-03-21 13:51:14 字數 2529 閱讀 4267

以下命令列親自執行有效,執行環境:

compiled against library: libvirt 4.5.0

using library: libvirt 4.5.0

using api: qemu 4.5.0

running hypervisor: qemu 1.5.3

架構細節可檢視:cpu 和記憶體虛擬化

加到4處理器、2核心、8執行緒

檢視 cpu 物理個數

grep 'physical id' /proc/cpuinfo | sort -u | wc -l
檢視 cpu 核心數量

grep 'core id' /proc/cpuinfo | sort -u | wc -l
檢視 cpu 執行緒數

grep 'processor' /proc/cpuinfo | sort -u | wc -l
檢視 cpu 型號

dmidecode -s processor-version
檢視 cpu 的詳細資訊:

cat /proc/cpuinfo
結果

[root@hadoop001 qemu]#

grep 'physical id' /proc/cpuinfo | sort -u | wc -l

4[root@hadoop001 qemu]#

grep 'core id' /proc/cpuinfo | sort -u | wc -l

2[root@hadoop001 qemu]#

grep 'processor' /proc/cpuinfo | sort -u | wc -l

8[root@hadoop001 qemu]#

dmidecode -s processor-version

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

intel(r) core(tm) i5-10400 cpu @ 2.90ghz

檢視centos7.xml,找到cpu的配置,目前是預設配置

檢視配置檔案:/etc/libvirt/qemu/這個目錄下儲存已經安裝虛擬機器的資訊

<

name

>centos7

name

>

<

uuid

>6f0b80d9-4e1a-4d19-97d4-79459e5985d8

uuid

>

<

memory

unit

='kib'

>1048576

memory

>

<

currentmemory

unit

='kib'

>1048576

currentmemory

>

<

vcpu

placement

='static'

>1

vcpu

>

最後一行的意思是靜態的1個cpu,修改為2個

<

vcpu

placement

='auto'

current

='2'

>2

vcpu

>

啟動或者重啟虛擬機器

virsh start centos7

virsh reboot centos7

動態不關機情況下修改為2個:

virsh setvcpus centos7 2
咦,vnc連不上了,原來是忘記了防火牆,先關閉

systemctl stop firewalld
檢視下cpu數量

virsh vcpucount centos7
檢視下cpu詳細情況

在虛擬機器裡執行

看來配置已經起效了,處理器和執行緒都變成了2個了。

qemu kvm記憶體虛擬化原理

guest physical address,gpa 客戶機實體地址 guest virtual address,gva 客戶機虛擬位址 host physical address,hpa 宿主機實體地址 host virtual address,hva 宿主機虛擬位址 客戶機實體地址 pb 表示 ...

QEMU KVM核心虛擬化概述

本文翻譯自 主要內容為qemu kvm的記憶體虛擬化的架構描述 的梗概 由於linux核心的layz mode得到策略,qemu kvm會為guest分配虛擬記憶體空間,但直到訪問時,才真正分配物理空間。以前 指使用shadow page table時 每當guest修改頁表,必然會影響host.h...

CPU虛擬化技術

cpu虛擬化 在物理機 宿主機 中通過執行緒或程序這種純軟體方式模擬出假的cpu 物理cpu核數 虛擬cpu總核數的原因是 虛擬出來的每顆cpu實際上就是乙個執行緒或者程序。虛擬cpu過多時,需要進行程序 執行緒切換,比較浪費 1 模擬 使用軟體方式實現cpu,需要模擬環0,1,2,3。host架構...