查看系统cpu个数、核心数、线程数

  • 1、查看物理cpu个数

  • grep 'physical id' /proc/cpuinfo | sort -u|wc -l

    2、查看核心数量

    grep 'core id' /proc/cpuinfo | sort -u | wc -l

  • 3、查看线程数

    grep 'processor' /proc/cpuinfo | sort -u | wc -l

  • 4、实例1

    命令执行结果如图所示,根据结果得知,此服务器有1个cpu,6个核心,每个核心2线程,共12线程。

    通过dmidecode可以查看cpu型号,根据型号也可以查到这个cpu的具体参数

    Linux查看系统cpu个数、核心书、线程数

  • 5、实例2

    命令执行结果如图所示,根据结果得知,此服务器有2个cpu,每个cpu4个核心,每个核心2线程,共16线程。

    通过dmidecode可以查看cpu型号,根据型号也可以查到这个cpu的具体参数

  • Linux查看系统cpu个数、核心书、线程数

  • 6、CPU的型号:cat /proc/cpuinfo

    使用命令more /proc/cpuinfo |grep "model name" 可以得到:

    7、查看CPU信息          

              vendor id     如果处理器为英特尔处理器,则字符串是 GenuineIntel。
              processor     包括这一逻辑处理器的唯一标识符。
              physical id   包括每个物理封装的唯一标识符。
              core id       保存每个内核的唯一标识符。
              siblings      列出了位于相同物理封装中的逻辑处理器的数量。
              cpu cores     包含位于相同物理封装中的内核数量。

             1. 拥有相同 physical id 的所有逻辑处理器共享同一个物理插座,每个 physical id 代表一个唯一的物理封装。
             2. Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术。
             3. 每个 core id 均代表一个唯一的处理器内核,所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。简单的说:“siblings”指的是一个物理CPU有几个逻辑CPU,”cpu cores“指的是一个物理CPU有几个核。
             4. 如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
             5. 如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。

    [itms_ecr@localhost ~]$ cat /proc/cpuinfo
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 79
    model name	: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
    stepping	: 1
    microcode	: 0xffffffff
    cpu MHz		: 2199.962
    cache size	: 30720 KB
    physical id	: 0
    siblings	: 2
    core id		: 0
    cpu cores	: 2
    apicid		: 0
    initial apicid	: 0
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 13
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 hle avx2 smep bmi2 erms rtm xsaveopt
    bogomips	: 4399.92
    clflush size	: 64
    cache_alignment	: 64
    address sizes	: 42 bits physical, 48 bits virtual
    power management:
    
    processor	: 1
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 79
    model name	: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
    stepping	: 1
    microcode	: 0xffffffff
    cpu MHz		: 2199.962
    cache size	: 30720 KB
    physical id	: 0
    siblings	: 2
    core id		: 1
    cpu cores	: 2
    apicid		: 1
    initial apicid	: 1
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 13
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 hle avx2 smep bmi2 erms rtm xsaveopt
    bogomips	: 4399.92
    clflush size	: 64
    cache_alignment	: 64
    address sizes	: 42 bits physical, 48 bits virtual
    power management:
    

    8、 概念

  •            ① 物理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的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
     

    9、举例说明(效果同上面命令)
  • ① 查看物理CPU的个数
    
        #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  
        2  
    
    ② 查看逻辑CPU的个数
    
        #cat /proc/cpuinfo |grep "processor"|wc -l  
        24  
    
    ③ 查看CPU是几核(单个物理cpu核数)
    
        #cat /proc/cpuinfo |grep "cores"|uniq  
        6   
    
     我这里应该是2个CPU,每个CPU有6个core,应该是Intel的CPU,支持超线程,所以显示24 
    

猜你喜欢

转载自blog.csdn.net/tyyking/article/details/83092531