Linux下区分物理CPU、逻辑CPU和CPU核数

HT技术既超线程技术,详见维基百科:https://zh.wikipedia.org/wiki/%E8%B6%85%E5%9F%B7%E8%A1%8C%E7%B7%92。【博主注】

原文如下,转自:http://blog.csdn.net/dba_waterbin/article/details/8644626



  ㈠ 概念
           
           ① 物理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个数
             

我们知道intel有超线程技术(HT), 它可以在逻辑上分一倍数量的cpu出来.所以, 光看processor数量是不准的.

真实的核数, 应该是 cpu cores 这个参数值.

 

[admin@transmit180 logs]$ cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz

stepping        : 7

cpu MHz         : 1596.035

cache size      : 4096 KB

physical id     : 0

siblings        : 4

core id         : 0

cpu cores       : 4

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 10

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl tm2 xtpr

bogomips        : 3194.26

 

物理cpu数量,可以数不重复的 physical id 有几个


           ③ CPU核数
           
              一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
              
           一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术 
           
       ㈡ 查看CPU信息
          
          当我们 cat /proc/cpuinfo 时、
          具有相同core id的CPU是同一个core的超线程
          具有相同physical id的CPU是同一个CPU封装的线程或核心
              
        
       ㈢ 下面举例说明
     

        ① 查看物理CPU的个数

[plain]  view plain  copy
 
  1. #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  
  2. 2  

        ② 查看逻辑CPU的个数

[plain]  view plain  copy
 
  1. #cat /proc/cpuinfo |grep "processor"|wc -l  
  2. 24  

        ③ 查看CPU是几核

[plain]  view plain  copy
 
  1. #cat /proc/cpuinfo |grep "cores"|uniq  
  2. 6   

       我这里应该是2个Cpu,每个Cpu有6个core,应该是Intel的U,支持超线程,所以显示24
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值