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

  • 相关阅读:
    C 语言中字符的输入输出
    C 语言 ctype.h 中系列字符处理函数
    C 语言中 for 循环的几种用法
    C 中优先级和关系运算符
    字符串和格式化输入/输出 [printf & scanf]
    C++中关于string类的一些API总结
    两大基本数据类型
    这些时候的总结
    PL/SQL 十进制数转任意进制
    复现题目[CISCN 2019 华东北赛区 Web2 WriteUp](https://www.zhaoj.in/read-6100.html)的一些东西
  • 原文地址:https://www.cnblogs.com/velion-oracle/p/5101542.html
Copyright © 2011-2022 走看看