zoukankan      html  css  js  c++  java
  • (转)ubuntu下查询CPU数,核心数,线程数

    转自:https://blog.csdn.net/u013095333/article/details/103913691/

    ubuntu下查询CPU数,核心数,线程数

    我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面笔者就来解释一下CPU的核心数与线程数的关系和区别。

    简单地说,CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组,等等,依次类推。

    线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。 比如Intel 赛扬G460是单核心,双线程的CPU,Intel 酷睿i3 3220是双核心 四线程,Intel 酷睿i7 4770K是四核心 八线程 ,Intel 酷睿i5 4570是四核心 四线程等等。

    对于一个CPU,线程数总是大于或等于核心数的。一个核心最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。 CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。如果没有超线程技术,一个CPU核心对应一个线程。所以,对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。

    CPU之所以要增加线程数,是源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
    # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
    
    # 查看物理CPU个数
    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    
    # 查看每个物理CPU中core的个数(即核数)
    cat /proc/cpuinfo| grep "cpu cores"| uniq
    
    # 查看逻辑CPU的个数
    cat /proc/cpuinfo| grep "processor"| wc -l
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    概念

    物理cpu:实际server中插槽上的cpu的个数,物理cpu的数量,可以数不重复的physical id 有几个

    查询物理CPU个数:

    grep 'physical id' /proc/cpuinfo | sort -u
    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    
    • 1
    • 2

    在这里插入图片描述

    查看每个物理CPU中core的个数(核数):

    cat /proc/cpuinfo| grep "cpu cores"| uniq
    grep 'core id' /proc/cpuinfo | sort -u | wc -l
    
    • 1
    • 2

    在这里插入图片描述
    查看逻辑CPU的个数:

    # 查看逻辑CPU的个数
    cat /proc/cpuinfo| grep "processor"| wc -l 
    # 注意,此处查看的线程数是总得线程数,可以理解为逻辑cpu的数量
    grep 'processor' /proc/cpuinfo | sort -u | wc -l 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    CPU线程数与多线程

    cpu线程数是指可以同时运行的最小调度单位,跟编程语言的多线程没什么直接关系。

     
     
  • 相关阅读:
    Promise
    location(未完)
    Web Storage API : LocalStroage
    从vmware下载到Linux环境下jdk和maven的安装
    2015.8.1 bootstrap学习(个人每日学习的随笔,比较凌乱
    git报错 error: cannot stat ‘'web/js': Permission denied
    移动端的自适应
    Socket .net MVC 的配置 包括异常断开
    ExtJS ComboBox之 键入自动查询
    ExtJS ComboBox之 2级联动
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/14148986.html
Copyright © 2011-2022 走看看