zoukankan      html  css  js  c++  java
  • CPU配置

    vCPU:客户机拥有的cpu
    每个guestos是一个qemu进程,每个vcpu在hostos中是qemu进程派送的普通线程
    普通linux环境里,进程有两个执行模式:内核模式和用户模式,KVM环境里,增加第三种模式:客户模式
    1)用户模式
    主要处理I/O的模拟和管理,由qemu代码实现

    2)内核模式
    主要处理特别需要高性能和安全相关的指令,如处理客户模式到内核模式的转换,处理客户模式下的I/O指令或其他特权指令引起的退出(VM-Exit),处理影子内存管理(shadow MMU)。

    3)客户模式
    主要执行Guest 中的大部分指令,I/O和一些特权指令除外(他们会引起VM-Exit,被Hypervisor截获并模拟)。

    三种模式的转换:
    *图1*


    超线程

    SMP(对称多处理架构),在虚拟机环境下可以有两种方式实现(个人认为,其实质是一样的)
    1)对于物理硬件非SMP环境,设置虚拟机为smp,多个vcpu在宿主硬件上分时调度。
    2)对于物理硬件为SMP环境,设置虚拟机为smp,多个vcpu在宿主机上被分配到多个cpu上同时执行。

    进程的处理器亲和性:将进程绑定到特定的一个或多个CPU上去执行
    优点:减少进程在多个CPU之间交换运行带来的缓存命中失效,在进程运行角度看,提升性能;
    缺点:破坏各个CPU的负载均衡,导致整个系统的进程调用变得低效;

    #显示每个cpu上运行的线程数目
    ps -eLo psr|grep 0|wc -l

    #判断进程是否隔离
    ps -eLo ruser,pid,ppid,lwp,psr,args|awk '{if($5==2) print $0}'

    -e: 显示所有进程
    -L: 显示进程
    -o: 根据用户自定义的格式输出
    ruser: 运行进程的用户
    lwp: 线程ID
    psr: 分配给进程运行的处理器编号
    args: 进程名

    参考:https://www.cnblogs.com/softidea/p/5267757.html

  • 相关阅读:
    MVC 中301永久重定向
    String
    redis key设置过期时间
    hbase java 增加列族
    hbase 物理存储
    java 类图
    SSH hql中文查询时乱码快速解决
    json和pickle的序列化与反序列化
    python之生成器与迭代器
    安装traits库心得
  • 原文地址:https://www.cnblogs.com/stellar/p/8399267.html
Copyright © 2011-2022 走看看