XEN虛擬CPU管理

2021-05-28 06:11:30 字數 1486 閱讀 3854

xen虛擬cpu管理

xen客戶機啟動的時候,虛擬cpu是由dom0系統決定固定在某個物理cpu核心上的,這個分配具有隨機性,比如我們的機器上有2個雙核的處理器,也就是說有4個cpu核心,同時我們分配4個核給我們的虛擬客戶機,那麼我們在客戶機也看到4個cpu核心的,但是這四個vcpu核心並不是真的對應著物理機器上的四個核,可能四個虛擬cpu對應的是物理cpu中的1~4個核,也就是說有下面4個可能:

4vcpu=1cpu

4vcpu=2cpu

4vcpu=3cpu

4vcpu=4cpu

vcpu指虛擬cpu核心

cpu指物理cpu核心

因此,當我們的虛擬客戶機上如果執行的是運算密集型的任務的時候,就必須看看我們vcpu與物理cpu的對應,必要的情況下手工固定vcpu到物理cpu上,使該虛擬機器可以使用所有的物理核心;而如果你正在執行io密集型任務,那麼最好就分配乙個超執行緒或整個核給dom0,並且固定其他的域讓他們不能使用cpu 0。

要檢視vcpu於cpu的對應情況,可以使用兩種方法:

1、使用xm vcpu-list命令

xm vcpu-list  #列出所有域的cpu對應情況

xm vcpu-list domname #列出指定域的cpu對應情況

如果不進行vcpu固定,上面的list結果在最後一列cpu關聯關係(cpu affinity)的值應該是any cpu,並且第三第四列就列出了vcpu和其對應的cpu

2、進入virsh,執行vcpuinfo命令

vcpuinfo domname #列出指定域的cpu對應情況

如果不進行vcpu固定,上面的命令的結果中,列表中的cpu關聯關係項(cpu affinity)的值應該全部為y,物理cpu有多少核就有多少個y,而如果有指定的話,只有對應的核為y,其他的為-,比如我們的機器有4個核,那麼:

沒有進行vcpu固定:    cpu affinity: yyyy

將vcpu固定在第二個核(編號為1)上:  cpu affinity: -y--

xen中虛擬客戶機的cpu動態調整有兩種方法

1、使用xm vcpu-set命令可以設定cpu個數

xm vcpu-set domname vcpu-num

使用xm vcpu-pin命令可以固定vcpu到物理cpu

xm vcpu-pin domname vcpu cpu

vcpu--虛擬cpu的號碼(號碼可以用cat /proc/cpuinfo命令得到,一般從0~n-1[其中n為cpu核數])

cpu--主機中cpu的號碼

2、進入virsh,然後用setvcpus命令進行設定

setvcpus domname vcpu-num

使用vcpupin命令可以將vcpu固定到物理cpu

vcpupin domname vcpu cpu

兩種配置方法可以混用。

由於上面已經提到物理cpu的分配預設是由系統分配的,所有動態地增加cpu個數之後,應該檢查cpu分配情況以確保是否滿足了自己的需求。

XEN虛擬CPU管理

xen客戶機啟動的時候,虛擬cpu是由dom0系統決定固定在某個物理cpu核心上的,這個分配具有隨機性,比如我們的機器上有2個雙核的處理器,也就是說有4個cpu核心,同時我們分配4個核給我們的虛擬客戶機,那麼我們在客戶機也看到4個cpu核心的,但是這四個vcpu核心並不是真的對應著物理機器上的四個核...

XEN虛擬CPU管理

xen客戶機啟動的時候,虛擬cpu是由dom0系統決定固定在某個物理cpu核心上的,這個分配具有隨機性,比如我們的機器上有2個雙核的處理器,也就是說有4個cpu核心,同時我們分配4個核給我們的虛擬客戶機,那麼我們在客戶機也看到4個cpu核心的,但是這四個vcpu核心並不是真的對應著物理機器上的四個核...

zz XEN虛擬CPU管理

xen客戶機啟動的時候,虛擬cpu是由dom0系統決定固定在某個物理cpu核心上的,這個分配具有隨機性,比如我們的機器上有2個雙核的處理器,也就是說有4個cpu核心,同時我們分配4個核給我們的虛擬客戶機,那麼我們在客戶機也看到4個cpu核心的,但是這四個vcpu核心並不是真的對應著物理機器上的四個核...