zoukankan      html  css  js  c++  java
  • CPU绑定操作

    使用virsh vcpuinfp命令查看虚拟机VCPU和物理CPU的对应关系

    [root@svn ~]# virsh vcpuinfo 16
    VCPU:           0
    CPU:            3
    状态:       running
    CPU 时间:   12581.6s
    CPU关系:      yyyy
    
    #可以看到VCPU0被调度到物理机CPU3上,目前是使用状态,使用时间是12581.6s。
    

    使用emulatorpin命令可以查看虚拟机可以使用哪些物理逻辑CPU

    virsh  #进入虚拟化的交互式终端
    virsh # emulatorpin 16
    模拟器: CPU 亲和性
    ----------------------------------
           *: 0-3
    
    可以看到0-3都可以使用,意味着可以强制将VCPU调度到任何物理CPU核上

    在线绑定虚拟机的CPU

    可以强制虚拟机只能在部分物理CPU之间调度。例如,使编号为16的虚拟机CPU在26-31之间调度

    virsh emulatorpin 16 26-31 --live
    
    通过以下命令查看绑定是否生效
    virsh emulatorpin 21
    emulator: CPU Affinity
    -----------------------------------------------------------
          *: 26-31
    

    强制VCPU和物理机CPU-对一绑定

    强制VCPU和物理机CPU-对一地绑定,例如强制VCPU 0和物理机CPU 28绑定,强制VCPU 1和物理机CPU 29绑定,强制VCPU 2和物理机CPU 30绑定,强制VCPU 3和物理机CPU 31绑定,命令如下:

    virsh vcpupin 21 0 28
    
    virsh vcpupin 21 1 29
    
    virsh vcpuin 21 2 30
    
    virsh vcpuin 21 3 31

    CPU绑定技术的原理:CPU绑定实际上是Libvirt通过CGROUP来实现的,通过CGROUP直接去绑定KVM虚拟机进程也可以。CGROUP不仅可以做CPU绑定,还可以限制虚拟机磁盘、网络资源控制。

    CPU绑定技术适用的应用场景:

    • 系统的CPU压力比较大
    • 多核CPU压力不平衡,可以通过cpu pinning技术人工进行调配

    补充:

    NUMA在虚拟机话应用之外的提示:

    某些应用,比如数据库,为了保证性能,需要尽量适用更多的内存,如果使用系统默认的NUMA自动平衡策略,有可能一个CPU的内存消耗光,另外一个CPU还有大量的内存可以使用,但是系统却去调用swap来使用,造成性能严重降低。使用这些内存消耗型的应用时,可以考虑直接将系统的NUMA自动平衡策略关闭。

    未完断续。。。。

  • 相关阅读:
    Ubuntu 16.04 安装 Apache, MySQL, PHP7
    Ubuntu下apache2启动、停止、重启、配置
    织梦-数据库-表和字段说明手册
    DEDECMS去除后门隐患和漏洞以及冗余代码的方法
    Express使用html模板
    windows系统 安装MongoDB
    linux搭建node.js环境
    配置vuejs加载模拟数据
    安卓高级5 zXing
    安卓高级5 传感器和震动 模仿微信摇一摇Ui效果
  • 原文地址:https://www.cnblogs.com/uglyliu/p/6066209.html
Copyright © 2011-2022 走看看