日期:2014-05-16  浏览次数:20772 次

Linux下查看cpu的个数

http://dbabc.net/archives/2012/02/13/linux-cpu-info-count.shtml

?

一直以来以为通过top然后按数字1键,查到的cpu个数是服务器的物理cpu个数,今天在看服务器的硬件配置清单中发现一服务器的物理cpu个数 是4个,我就奇怪了,这台机子我的影响很深,明明是48啊,当时通过top 1查看cpu信息还提示 “Sorry ,terminal is not big enough”。想当初服务器只能识别到32个。还是重新编译内核搞定的。后来经过查询原来不是这样滴,top 1查看的是逻辑cpu个数,一下为记。
查看Linux服务器的CPU详细情况
判断Linux服务器CPU情况的依据如下:
具有相同core id的CPU是同一个core的超线程。(Any cpu with the same core id are hyperthreads in the same core.)
具有相同physical id的CPU是同一个CPU封装的线程或核心。(Any cpu with the same physical id are threads or cores in the same physical socket.)
下面举例说明。
物理CPU个数如下:

[root@dbabc.net ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
4

每个物理CPU中core的个数(即核数)如下:

[root@dbabc.net ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores       : 12

逻辑CPU的个数如下:

[root@dbabc.net ~]#cat /proc/cpuinfo| grep "processor"| wc -l
48

按理说物理CPU个数×核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术。