Hi all!
It’s a recurrent subject, right? But no one is 100% sure to how figure this out… So, let me quickly show you my way:
– Physical CPUs (sockets):
[root@mysrvr ~]# grep -i "physical id" /proc/cpuinfo | sort -u | wc -l 2 [root@mysrvr ~]# dmidecode -t processor |grep CPU Version: Intel(R) Xeon(R) CPU X5570 @ 2.93GHz Version: Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
So, 2 physical CPUs.
– Physical Cores
[root@mysrvr ~]# egrep -e "core id" -e ^physical /proc/cpuinfo|xargs -l2 echo|sort -u physical id : 0 core id : 0 physical id : 0 core id : 1 physical id : 0 core id : 2 physical id : 0 core id : 3 physical id : 1 core id : 0 physical id : 1 core id : 1 physical id : 1 core id : 2 physical id : 1 core id : 3
Each one of Physical Processors has 4 cores.
So, there is two quad-cores. This way, we have 8 cores at all.
– Logical CPUs
[root@mysrvr ~]# grep -i "processor" /proc/cpuinfo | sort -u | wc -l 16
Ok, so we have cores in double.
This means we have Hyper-Threading (technology by Intel Processors).
Not so hard, right?
Those links are similar and quite cool to understand the concepts:
https://access.redhat.com/discussions/480953
https://www.redhat.com/archives/redhat-list/2011-August/msg00009.html
http://www.intel.com/content/www/us/en/architecture-and-technology/hyper-threading/hyper-threading-technology.html
Matheus.