At the end of this post is my /proc/cpuinfo.

I know the Physical cpu number is 2

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

But how many cores does each cpu have?

The 'cpu cores' shows it has 16 cores.

But use this command it shows there are only 8 cores totally.

grep 'core id' /proc/cpuinfo    
core id         : 16
core id         : 0
core id         : 17
core id         : 1
core id         : 25
core id         : 9
core id         : 26
core id         : 10

Displays the number of sibling CPUs on the same physical CPU for architectures which use hyper-threading. It's 16 on my machine. But there are 4 for physical 0 cpu, and 4 on physical 1 cpu. I really confused.

Can anybody help me?

Below is my /proc/cpuinfo

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 16
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4803.77
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 0
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.22
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 17
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.13
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 1
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.21
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 4
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 25
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.14
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 5
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 9
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.19
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 6
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 26
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.13
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 10
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.20
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:
link|improve this question
feedback

migrated from stackoverflow.com Jan 14 at 8:02

This question came from our site for professional and enthusiast programmers.

2 Answers

As per Intels' specs for the processor, it's a quad-core CPU (4 distinct cores), each of which is hyperthreading enabled, which makes it appear as an octo-core.

Given that it's a Xeon, you could quite easily have a dual-socket motherboard, which means there's 2 separate chips, each of which has 4 cores, each of which can run two threads, so effectively appears to the OS as a 16-core machine.

link|improve this answer
Yep this would do it. 2 CPUs, 4 cores each. Hyperthreading makes it as if each core counts as two, so 2 * 4 * 2 = 16 processors. – aqua Jan 14 at 7:33
@auqa What does the 'cpu cores' mean? Is it the physical cores or logical cores? I think the cpu cores mean how many physical cores on a single cpu socket? And what does the 'siblings' means? – xiaoming Jan 14 at 7:55
@xiaoming: that's been blurred these days by hyperthreading and whatnot. Depends on which marketing people you talk to, and as well which licensing people. Someone like oracle would count your machine as a 16core device and force you buy 16 licenses for oracle. Others might require only 2 licenses because that's how many sockets your machine has. – Marc B Jan 14 at 7:56
@Marc B how could I know each cpu is 4 cores? Which parameters should i use? In lots of documents they say hte 'cpu cores' is the cores on the physical cpu – xiaoming Jan 14 at 8:00
feedback

That's Hyperthreading, which allows a single core to run two threads more-or-less in parallel. More-or-less depends on what instructions each thread is using.

link|improve this answer
How could I know the how many cores on a physical cpu? – xiaoming Jan 14 at 7:59
feedback

Your Answer

 
or
required, but never shown