前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >libvirt-cpu分配和cpu热插拔

libvirt-cpu分配和cpu热插拔

作者头像
虚拟化云计算
修改2018-04-13 22:35:20
2.5K0
修改2018-04-13 22:35:20
举报
文章被收录于专栏:虚拟化云计算虚拟化云计算

cpu模式和拓扑

代码语言:javascript
复制
<domain>
  ...
  <cpu mode='host-model'>
      <model fallback='allow'/>
      <topology sockets='1' cores='2' threads='1'/>
  </cpu>
  ...
</domain>
cpu mode:可取值为custom host-model host-passthrouth
<domain>
  ...
 <cpu match='exact'>
   <model fallback='allow'>core2duo</model>
   <vendor>Intel</vendor>
   <topology sockets='1' cores='2' threads='1'/>
   <cache level='3' mode='emulate'/>
   <feature policy='disable' name='lahf_lm'/>
 </cpu>
  ...
</domain>

cpu match:可取值为exact minimum strict

另外cpu的numa配置也在这里配。

vcpu分配

代码语言:javascript
复制
<domain>
  ...
  <vcpu placement='static' cpuset="1-4,^3,6" current="1">2</vcpu>
  <vcpus>
    <vcpu id='0' enabled='yes' hotpluggable='no' order='1'/>
    <vcpu id='1' enabled='no' hotpluggable='yes'/>
  </vcpus>
  ...
</domain>

vcpu:最大vcpu数量,不能超出cpu拓扑中的数值。

cpuset:指定CPU的亲和性,如果cputune中制定了vcpupin的亲和性,这里的将被忽略。

current:开机时给虚拟机分配的cpu数量。

vcpus:配置单个vcpu的状态。

cpu热插

当前配置:

代码语言:javascript
复制
  <vcpu placement='static' current='2'>4</vcpu>
  <cpu>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>

根据上述配置,此虚拟机开机时有两个cpu,另外有两个cpu可以后插入。

libvirt监控状态:

代码语言:javascript
复制
virsh # vcpucount instance-0000000d
maximum      config         4
maximum      live           4
current      config         2
current      live           2
virsh # vcpuinfo instance-0000000d
VCPU:           0
CPU:            2
State:          running
CPU time:       1.3s
CPU Affinity:   yyyy
VCPU:           1
CPU:            3
State:          running
CPU time:       0.5s
CPU Affinity:   yyyy
virsh # cpu-stats instance-0000000d
CPU0:
        cpu_time             0.000000000 seconds
        vcpu_time            0.000000000 seconds
CPU1:
        cpu_time             0.000000000 seconds
        vcpu_time            0.000000000 seconds
CPU2:
        cpu_time             1.559106643 seconds
        vcpu_time            1.149663485 seconds
CPU3:
        cpu_time             1.006847058 seconds
        vcpu_time            0.701462772 seconds
Total:
        cpu_time             2.565953701 seconds
        user_time            0.540000000 seconds
        system_time          0.710000000 seconds

虚拟机内部CPU列表:

插入cpu:

# virsh setvcpus instance-0000000d --count 4 --live

在虚拟机内部激活新插入的cpu:


关注本公众号,了解更多关于云计算虚拟化的知识。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 虚拟化云计算 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档