Performance and efficiency cores
Also: P-cores and E-cores
Quick answer
Performance and efficiency cores are the two kinds of CPU core in Apple silicon Macs. Performance cores are fast and use more power; efficiency cores are slower, use a fraction of the power, and take the background work. macOS decides which kind each task runs on.
Every Mac with an M-series chip has both kinds. Apple's own figures put an efficiency core at about a tenth of the power of a performance core for the work it is suited to, which is why a MacBook can sit at a few watts with a dozen apps open: mail checks, syncing, indexing and the menu bar all run on the efficiency cores while the performance cores idle.
This matters for reading Activity Monitor. A process at 100% on an efficiency core is using far less of the Mac than one at 100% on a performance core, but the % CPU column does not say which. It also explains a Mac that feels fast while the CPU graph looks busy: the busy cores are the small ones.
How to see the cores in Activity Monitor
Choose Window → CPU History (or press ⌘3). Each graph is one core. On Apple silicon the efficiency cores are grouped together and the performance cores after them, and they fill at different times: background work lights up the first group, a build or an export lights up the second.
To count them, open Terminal and run sysctl hw.perflevel0.physicalcpu hw.perflevel1.physicalcpu. Level 0 is the performance cores and level 1 the efficiency cores. System Information → Hardware shows the total only.
Why this changes what 100% means
Activity Monitor's % CPU is a share of one core's time, and every core counts the same, so a process pinned to an efficiency core reads 100% while using maybe a watt. Energy Impact is the better column for how much of the Mac a process is really using, because it weighs the power drawn rather than the time occupied.
macOS moves work between the two kinds as it goes. An app that starts on the efficiency cores is promoted when it falls behind, and demoted when it drops into the background. You cannot pin a process to a kind of core yourself, and you do not need to.
Questions people ask
How many performance and efficiency cores does my Mac have?
Run `sysctl hw.perflevel0.physicalcpu hw.perflevel1.physicalcpu` in Terminal. The first number is performance cores, the second efficiency cores. The counts differ by chip, and the Pro, Max and Ultra versions of each generation have more performance cores than the base chip.
Does an app at 100% CPU on an efficiency core matter?
Much less than the number suggests. It is using one small core, at a fraction of a performance core's power, and macOS will move it to a performance core if it falls behind. Look at Energy Impact instead of % CPU to judge it.
Can I make macOS use the performance cores?
Not directly. macOS assigns cores by the quality of service each task asks for: work you are waiting on goes to performance cores, background work to efficiency cores. Plugging in the charger does not change it, and there is no setting for it.
Related
Step by step: Which app is using my CPU or memory.
Want to watch this all the time? See the best system monitors for Mac, or the best Activity Monitor alternatives. Or browse every term in the glossary.