首先,看看什么是超线程概念
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程 *** 作系统和软件,减少了cpu的闲置时间,提高的cpu的运行效率。
超线程技术是在一颗cpu同时执行多个程序而共同分享一颗cpu内的资源,理论上要像两颗cpu一样在同一时间执行两个线程,虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的cpu那样,每个cpu都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗cpu的性能。
其次,看看物理cpu个数,核数以及线程数的关系
总核数 = 物理cpu个数 * 每颗物理cpu的核数
总逻辑cpu数 = 物理cpu个数 * 每颗物理cpu的核数 * 超线程数
上述公式中,逻辑cpu数即线程数
如何查看cpu物理个数
# grep 'physical ID' /proc/cpuinfo | sort -u
physical ID : 0physical ID : 1
如何查看每个物理cpu的核数
# grep 'core ID' /proc/cpuinfo | sort -u | wc -l
8
如何查看总的逻辑cpu个数
# grep 'processor' /proc/cpuinfo | sort -u | wc -l
32
32/8/2=2,可见该cpu支持并已打开超线程。
如何查看cpu的型号
# dmIDecode -s processor-version
Intel(R) Xeon(R) cpu E5-2658 @ 2.10GHzIntel(R) Xeon(R) cpu E5-2.10GHz
关于物理cpu,核数以及超线程的区别
A core is the most basic computational unit of a processor. A processor is made up of one or more cores. Tradition processors had only one core while modern processors have multiple cores.
A core consists of an ALU,CU,and a set of registers.
A core consists of two levels of caches called L1 and L2 which is there in each core.
A processor consists of a cache that is shared by call cores called L3 cache. It is common to all cores.
A processor depending on the architecture can consist of a memory controller and an input/output controller.
Certain processor packages consist of Graphics Processing Units (GPU) as well.
A core that does not have hyper-threading can execute only one instruction at a time while a multicore processor made up of several cores can execute several instructions parallel. If a processor is made up of 4 cores that do not support hyper threading then that processor can execute 4 instructions at the same time.
A core having hyper-threading technology has redundant functional units so that they can execute multiple instructions at a time. For example,a core with 2 threads can execute 2 instructions at the same time hence a processor with 4 such cores can execute 2×4 instructions parallel. These threads are usually called logical cores and the task manager of windows generally show the number of logical cores but not the physical cores.
参考:
1. http://www.differencebetween.com/difference-between-core-and-vs-processor/
2. http://jingyan.baidu.com/article/63acb44a81001361fcc17e21.html
以上是内存溢出为你收集整理的Linux上如何查看物理CPU个数,核数,线程数全部内容,希望文章能够帮你解决Linux上如何查看物理CPU个数,核数,线程数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)