zoukankan      html  css  js  c++  java
  • 物理CPU、物理核跟逻辑核的区分

    一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术 ,所以您的电脑是双核的。 
    一 概念
    ① 物理CPU 
    实际Server中插槽上的CPU个数
    物理cpu数量,可以数不重复的 physical id 有几个 
    ② 逻辑CPU 
    Linux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的
    信息内容分别列出了processor 0 – n 的规格。这里需要注意,如果你认为n就是真实的cpu数的话, 就大错特错了
    一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
    逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
    备注一下:Linux下top查看的CPU也是逻辑CPU个数 
    ③ CPU核数 
    一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU

    物理CPU、物理核和逻辑核的区分

    之前看到一篇关于cpu load Average:CPU平均负载值的文章,想起之前的在物理核,逻辑核上面的问题,这里留下点Memory。
    CPU Load Average是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。其实我们一般使用的vmstat中有瞬时的cpu队列数参考。

    回到重点物理CPU、物理核和逻辑核
    物理CPU(即板子上插了多少个宏观的CPU芯片)、物理核(CPU中包含的物理内核个数)以及逻辑核(用SMT技术将物理核虚拟而成的逻辑处理单元)的判断依据:
    在/proc/cpuinfo文件的条目中:
    1.有多少个不同的physical id就有多少个物理CPU。
    2.cpu cores记录了对应的物理CPU(以该条目中的physical id标识)有多少个物理核。
    3.siblings记录了对应的物理CPU(以该条目中的physical id标识)有多少个逻辑核。

    通过执行以下命令,可以得到物理CPU数目及各自包含多少个物理核:
    cat /proc/cpuinfo | grep -E "physical id|cpu cores" | sed 'N;s/ / /' | sort | uniq
    假设输出如下,则表示有两个物理CPU,各自包含4个物理核:
    physical id : 0 cpu cores : 4
    physical id : 1 cpu cores : 4

    通过执行以下命令,可以得到物理CPU数目及各自包含多少个逻辑核
    cat /proc/cpuinfo | grep "physical id" | sort | uniq -c
    假设输出如下,则表示有两个物理CPU,各自包含8个逻辑核
    8 physical id : 0
    8 physical id : 1

  • 相关阅读:
    Python集合(set)类型的操作
    3GPP接口定义及相关协议一览
    OSS基本概念介绍
    建造者模式(Builder Pattern)
    组合模式(Composite Pattern)
    观察者模式(Observe Pattern)
    ReentrantLock
    <logger>和<root>
    logback的configuration
    logback的加载过程
  • 原文地址:https://www.cnblogs.com/velion-oracle/p/5101542.html
Copyright © 2011-2022 走看看