Was this page helpful?

RHEL5 - xm vcpu-list/vcpu-set/vcpu-pin command

    內容表格
    沒有標頭

    通常透過 xm list 只能看到 Guest 的 vcpu 個數外並沒有其他關於 CPU 的資訊,xm 提供另外一個指令 xm vcpu-list . 目前我的系統是1個 CPU 4 個 cores.

    1.Name : Guest (Domain) name
    2.ID : Domain ID
    3.VCPUs : 虛擬的 vcpu 個數,0 為第一顆,以此類推.
    4.CPU :目前 vcpu 對應到的實體 CPU 是哪一顆.
    5.State :
    r - running
    目前有使用到 CPU 支援的 Guest
    b - blocked
    可能 Guest 在 sleep 狀態或是等待 I/O 裝置.
    p - paused
    我們可以使用 xm pause domainID 讓系統進入暫停模式.有點像是進入S1 - "Sleep" 的狀態.
    6.Time(s) : 截至目前為止 Domain 的 CPU 有使用到時間單位為分鐘
    7.CPU Affinity:Guest 的 vcpu 對應到哪一個實體 CPU .如果為 any cpu 就代表由系統去動態配置.

    [root@benjr ~]# xm vcpu-list
    Name                              ID VCPUs   CPU State   Time(s) CPU Affinity
    Domain-0                           0     0     0   -b-      26.4 0
    Domain-0                           0     1     1   -b-       8.7 1
    Domain-0                           0     2     2   r--       9.7 2
    Domain-0                           0     3     3   -b-       5.9 3
    rhel4.6                            4     0     3   -b-       5.4 any cpu
    rhel5                              3     0     1   -b-      19.0 any cpu

    剛剛 Domain U (Guest)的 CPU Affinity 都是 any cpu (代表由系統去動態配置),我們可以手動去配置它的的對應,使用 xm vcpu-pin.

    Usage: xm vcpu-pin <Domain> <VCPU> <CPUs>
    我要指定 rhel4.6(ID:4) 的第一顆 CPU(目前只有設定一顆) 使用實體第二顆 CPU (core)

    [root@benjr ~]# xm vcpu-pin 4 0 2
    [root@benjr ~]#
    xm vcpu-list
    Name                              ID VCPUs   CPU State   Time(s) CPU Affinity
    Domain-0                           0     0     0   -b-      38.4 0
    Domain-0                           0     1     1   r--      12.5 1
    Domain-0                           0     2     2   -b-      13.1 2
    Domain-0                           0     3     3   -b-       7.6 3
    rhel4.6                            4     0     2   -b-      12.6 2
    rhel5                              3     0     1   -b-      21.4 any cpu

    不過下次 Domain U(Guest) 開關機就會失效了.
    關於動態調整 VCPU 個數我只能說是可惜,因為大多數的 OS 都不支援動態調配 CPU 個數.所以 xm vcpu-set 基本上派不上用場.

    [root@benjr ~]# xm list
    Name                                      ID Mem(MiB) VCPUs State   Time(s)
    Domain-0                                   0      975     4 r-----     74.6
    rhel4.6                                    4      511     1 -b----     12.6
    rhel5                                      3      511     1 -b----     21.5

    我要指定 rhel4.6(ID:4) 使用3個 CPU (core)

    [root@benjr ~]# xm vcpu-set 4 3

    可以看到系統並沒有任何變更.

    [root@benjr ~]# xm list
    Name                                      ID Mem(MiB) VCPUs State   Time(s)
    Domain-0                                   0      975     4 r-----     75.0
    rhel4.6                                    4      511     1 -b----     12.6
    rhel5                                      3      511     1 -b----     21.5

    不過還是透過最基本的方式去調配,關機去修改 /etc/xen/ 設定檔或是使用 virt-manager 的介面來修改.

    [root@benjr ~]# xm vcpu-list
    Name                              ID VCPUs   CPU State   Time(s) CPU Affinity
    Domain-0                           0     0     0   r--     456.1 0
    Domain-0                           0     1     1   r--     217.0 1
    Domain-0                           0     2     2   -b-     254.6 2
    Domain-0                           0     3     3   -b-      76.6 3
    rhel4.6                            5     0     2   -b-       7.7 any cpu
    rhel4.6                            5     1     2   -b-       3.2 any cpu
    rhel4.6                            5     2     2   -b-       3.3 any cpu
    rhel4.6                            5     3     2   -b-       2.9 any cpu

    rhel5                              6     0     1   -b-       1.6 any cpu

    完整版內容請看 : http://benjr.tw/?q=node/374

    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core