Linux查看系统cpu个数、核心数、线程数常用命令

现在cpu核心数、线程数越来越高,本文将带你了解如何确定一台服务器有多少个cpu、每个cpu有几个核心、每个核心有几个线程。

概念

物理CPU
服务器实际插槽上的CPU个数,物理cpu数量,可以数/proc/cpuinfo中不重复的 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支持超线程技术

参考依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。

示例

查看物理cpu个数

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

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

查看核心数量

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

cat /proc/cpuinfo |grep "cores"|uniq

查看线程数或逻辑CPU的个数

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

cat /proc/cpuinfo |grep "processor"|wc -l

查看cpu型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

实例1

命令执行结果如图所示,根据结果得知,此服务器有1个cpu,6个核心,每个核心2线程,共12线程。
通过dmidecode可以查看cpu型号,根据型号也可以查到这个cpu的具体参数
1

实例2

命令执行结果如图所示,根据结果得知,此服务器有2个cpu,每个cpu4个核心,每个核心4线程,共16线程。
通过dmidecode可以查看cpu型号,根据型号也可以查到这个cpu的具体参数
2

参考资料:
linux 下查看机器是cpu是几核的:http://www.cnblogs.com/xd502djj/archive/2011/02/28/1967350.html
proc 查看cpu个数,核数,超线程:http://blog.csdn.net/shouso888/article/details/6894801

发表评论?

0 条评论。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据