38
What am I missing?
Hyperthreading. You have 4 physical cores, but 8 logical ones.
For each processor core that is physically present, the operating system addresses two virtual (logical) cores and shares the workload between them when possible.
See also the Intel data on your processor, the i7 4870HQ:
# of Cores 4
Cores is a hardware term that describes the number of independent central processing units in a single computing component (die or chip).
# of Threads 8
A Thread, or thread of execution, is a software term for the basic ordered sequence of instructions that can be passed through or processed by a single CPU core.
84
From a terminal you can see the difference between the number of physical processors and logical processors using sysctl:
$ sysctl hw.physicalcpu hw.logicalcpu
hw.physicalcpu: 4
hw.logicalcpu: 8
4
your CPU is an i7, so it has Hyperthreading, which presents itself to system monitoring applications by doubling the number of cores, since each can process two threads semi-simultaneously.
3
What you see are so called hyperthreaded
cores.
For each physical core there are two hyperthreaded (or logical) cores, you can read up more about hyperthreading here
1Lol, answer flood (My answer was first btw ... :) ) – Yamakaja – 2016-07-15T15:53:14.217
0
It has 4 physical cores and 4 logical cores giving you the total of 8 cores.
This is called Hyper-threading
4This is wrong. There are 4 physical cores, and each physical core has two logical cores. So there are 8 logical cores. – Yongwei Wu – 2019-08-02T10:49:42.957
5Why was this downvoted ? This command works (at least on El Capitan). – Gabriel Devillers – 2018-10-29T11:43:25.460