How to Find How Many CPU Cores a Mac Has
Knowing the number of CPU cores a particular Mac has can be useful for performance optimization, stress testing, compatibility, and to otherwise make informed decisions about system performance on a Mac. For example, maybe you want to make sure you have multiple cores available to run a virtual machine, or you want to spawn a number of processes that is equivalent to the number of cores on a Mac for a stress test.
We’ll show you several ways to determine how many CPU cores a Mac computer has, including finding this information from the GUI, and from the command line, and breaking down the CPU core count for performance cores versus efficiency cores on Apple Silicon hardware.
How to Check How Many Cores a Mac CPU Has, via System Information
In MacOS, you can easily determine how many cores a particular Mac CPU has by doing the following:
- Hit Command+Spacebar to open Spotlight, then type “System Information” and hit return (or type “System Profiler” for earlier MacOS versions)
- Click “Hardware” to see the Hardware Overview, and find the “Total Number of Cores” listed here, it will read something like the following: Total Number of Cores: 8 (4 performance and 4 efficiency)
For earlier versions of MacOS, the same information is available but this tool is called “System Profiler” instead. Renaming System Profiler to System Information occurred in MacOS Ventura and newer, but even in macOS 13+ you can still search for “System Profiler” with Spotlight and it will find the proper System Information app.
How to Determine Number of CPU Cores on Mac via Command Line
There are multiple ways to determine the number of CPU cores from the command line on a Mac, the first approach will use the command line tool system_profiler, which is basically the command line frontend to the GUI tool we covered a moment ago:
- Open the Terminal application (from Spotlight or /Applications/Utilities)
- Enter the following command string:
- Hit Return, you will see something like the following informing you the number of cores available on the Mac CPU
system_profiler SPHardwareDataType | grep "Cores"
Total Number of Cores: 8 (4 performance and 4 efficiency)
For most users seeking out to know the total number of cores available on a CPU, it’s probably preferable to know the number of efficiency cores versus performance cores, thus system_profiler makes the most sense to use. The system_profiler command is available to provide extensive Mac system information and is quite useful.
Finding How Many Cores a Mac CPU has with sysctl
You can also use the sysctl command to get the number of CPU cores available on a Mac.
sysctl hw.physicalcpu hw.logicalcpu
This breaks down the core count and you may see something like so:
Or you can use a simpler command which will only report the total number of cores, rather than breaking them down between efficiency and performance cores:
sysctl -n hw.ncpu
Where you’ll see simply something like “8” as feedback reported, rather than the splitting of the 8 between 4 performance and 4 efficiency cores, as shown with system_profiler.
sysctl arguably is more accurate on Intel Mac architecture compared to Apple Silicon architecture, since sysctl does not always appear to accurately distinguish between performance cores and efficiency cores available on Apple Silicon, though it does differentiate properly on physical versus hyperthreading (logical) cores for Intel architecture.
What’s the difference between performance cores and efficiency cores?
Efficiency Cores: As the names imply, efficiency cores are more efficient and tend to be used for lower energy consumption tasks, or tasks where more CPU power is not needed. For ARM M-chip architecture Macs, efficiency cores are aimed at being energy efficient, and run at lower clock speeds in MHz/GHz than Performance cores.
Performance Cores: Performance cores are aimed at maximizing performance, disregarding energy efficiency needs. For ARM M-chip architecture Macs, performance cores have a higher maximum clock speed in MHz/GHz.
Software has to be written specifically to support multi-core usage with multithreading/multitasking, to distribute the load across multiple cores. Typically, more demanding software (like video encoding, video games, etc) will use the performance cores, whereas a simple text editor or something running in the background is more likely to use an efficiency core.
Apple explains this in a document about optimizing performance and efficiency on Apple Silicon chips:
“Recent Apple Silicon […] has both high-performance cores (P cores) and high-efficiency cores (E cores). These different core types allow you to deliver apps that have both great performance and great battery life. To take full advantage of their performance and efficiency, you can provide the operating system (OS) with information about how to execute your app in the most optimal way. From there, the OS uses semantic information to make better scheduling and performance control decisions.”
Did you find this useful to determine how many cores a Mac CPU has? Were you able to determine the number of logical cores, performance cores, and efficiency cores a Mac has with these tricks? Do you use another approach to determine core count and core info on a Mac? Let us know your own tricks and thoughts in the comments.
Click on the Apple symbol at top left, ‘Click About this Mac’, Click System Report’ and a hardware summary is shown.
Now the System Preferences has been renamed System Settings, is the nest release of MacOS going to be called Windows 15, renaming functions is make work for people and has no useful benefits.
In MicrosoftOS err MacOS Ventura, it is different now. Go to Apple menu > System Settings > About This Mac > More Info > this opens System Settings > About > now scroll down to the very bottom > System Report
Agreed about renaming things… no benefit but confuses users. This is what happens when Apple hires people who are not longterm Mac users to work on the Mac, some manager wants to make a name for themselves so they ruin an entire feature or paradigm, because “new is better.” Nope, bad user experience.