• [zz]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分配情况以确保是否满足了自己的需求。
  • 相关阅读:
    关于sip和sip的客户端
    android 使用vcard示例
    RTCP:RTP 控制协议(RTP Control Protocol)
    《战地情人》对白摘录
    终于把《ASP.NET 1.1入门经典—— VISUAL C# .NET 2003编程篇》买回来了
    郁闷~居然要用ASP开发生产监控系统
    给计算机系学生的建议[读后感]
    走出你职业生涯的瓶颈读后感
    什么是爱?[转载朋友发给我的信息]
    Boost学习笔记 BOOST_STATIC_ASSERT
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2427650.html
Copyright © 2020-2023  润新知