
When your Mac feels slow, hot, or unusually loud, Terminal can show which process is using the most CPU. The quickest method is to run top, then read the %CPU column. The process near the top of the list is using the most processor time at that moment.
Quick Answer
- Open Terminal from Applications > Utilities.
- Run:
top -o cpu
- Read the process list. The
%CPUcolumn shows processor use, and the highest value identifies the busiest process. - Press Q to quit
top.
top updates continuously, so the result can change from one moment to the next. A short spike is often normal; a process that remains near the top for several minutes may need investigation.
What CPU usage means
The CPU, or central processing unit, performs calculations for macOS and your apps. A process is a running program or background task. The %CPU value estimates how much processor capacity that process is using.
A process can temporarily use substantial CPU while exporting a video, indexing files, installing software, compiling code, or loading a demanding webpage. High CPU use is not automatically a problem. Look for a process that remains unusually busy while your Mac is idle or while the same symptoms continue.
The top command is built into macOS and displays a live, text-based process list. It does not change system settings, close apps, or delete files.
Check the busiest process with top

Before running the command, close any private information you do not want displayed on screen or in a recording. The output can include process names and user names.
- Open Terminal.
- Enter this command:
top -o cpu
The -o cpu option asks top to sort the process list by CPU usage. The display refreshes automatically.
- Look for the process list below the system summary. Focus on these columns:
- PID: The process identification number.
- COMMAND: The process name.
- %CPU: Estimated CPU use.
- TIME: The amount of CPU time used since the process started.
- MEM: An indication of memory use.
The process with the largest %CPU value is using the most CPU in the current refresh. Because the list is live, the top entry may change.
- Press Q to exit
top.
Stop a process only when necessary
Finding a process does not require stopping it. First, identify the process and determine whether it belongs to an app you recognize. If the process is performing a task you started, such as exporting or synchronizing files, allow it to finish.
Do not terminate a process merely because its CPU number is high. Closing or terminating a process can interrupt work and may cause unsaved changes to be lost. System processes may also restart automatically.
Get a one-time CPU snapshot
If you prefer a single result instead of a continuously updating display, use ps. This command prints a snapshot of running processes and sorts it by CPU usage:
ps -Ao pid,ppid,%cpu,comm | sort -k3 -nr | head -n 11
This command does not change system state. Each part has a specific purpose:
ps -Ao pid,ppid,%cpu,commlists processes with their process ID, parent process ID, CPU percentage, and command name.sort -k3 -nrsorts the third column,%CPU, numerically from highest to lowest.head -n 11limits the result to the heading and the first 10 processes.
The first process beneath the heading is the process with the highest reported CPU use in that snapshot. Run the command again if you want to compare results over time.
This method is useful when a process spikes briefly and disappears before you can read it in top.
Watch only the busiest processes
You can refresh a sorted list at a fixed interval with watch, but watch is not included with every standard macOS installation. Use the built-in top command instead:
top -o cpu -l 5
The -l 5 option tells top to collect five logging samples and then exit. This gives you a short observation period without requiring you to stop the command manually.
The command only reads process information. It does not modify files or settings. Press Control-C if you need to stop it before the samples finish.

Identify a process by its PID
If you need more information about one result, note its PID from top or ps. A PID is the number macOS assigns to a running process.
Use ps with that number to display details:
ps -p PID -o pid,ppid,user,%cpu,%mem,etime,command
Replace PID with the actual number. For example, if the process ID is 1234, the command would be:
ps -p 1234 -o pid,ppid,user,%cpu,%mem,etime,command
This is a read-only command. It shows:
- The process ID and parent process ID.
- The account running the process.
- Current CPU and memory percentages.
- How long the process has been running.
- The command used to start it.
A process name may be different from the name of the app you recognize. For example, an app may use helper processes for updates, rendering, extensions, or other background work. Search the exact process name in the app’s documentation or identify the related app before taking action.
View CPU use in Activity Monitor
Terminal is helpful when you want a quick command-line result, but Activity Monitor provides a graphical alternative.
- Open Activity Monitor from Applications > Utilities.
- Select the CPU tab.
- Click the % CPU column heading to sort processes by CPU use.
- Select a process to view additional information in the lower portion of the window.
Activity Monitor and top may show slightly different values because they collect and present information differently. Use either tool to identify patterns rather than treating one instant as a final diagnosis.
Do not click the Stop button unless you understand the consequences. Force quitting a process can close an app, interrupt a task, and discard unsaved work.
Safely investigate the result
After identifying the busiest process, use this sequence before closing anything:
- Check whether the high usage is temporary. Watch the process for several refreshes in
top, or run the snapshot command more than once. - Connect it to an active task. Consider whether you recently opened an app, copied files, edited media, installed software, or started a synchronization task.
- Save your work. If the process belongs to an app you may need to close, save documents first.
- Quit the related app normally. Use the app’s Quit command instead of terminating a process from Terminal.
- Reopen the app. A temporary problem may clear after a normal restart.
- Restart the Mac if the process remains stuck. Restarting can clear a process that does not respond normally, but save all work first.
If the process is a system service, avoid killing it based only on its name or CPU percentage. Research the exact name and consider whether a recent app, peripheral, or system task explains the activity.
Terminate a process from Terminal only as a last resort
The kill command can ask a process to exit. It changes system state and may close an app or interrupt work. Save documents first, and do not use it until you are certain the PID belongs to the process you intend to stop.
Use the normal termination signal with the process ID:
kill PID
Replace PID with the number you recorded. This requests that the process exit cleanly. It does not delete the application or its files.
If the process does not respond, a forceful signal is available:
kill -9 PID
Use kill -9 only when necessary. It stops the process immediately and does not give it an opportunity to save data or clean up. Unsaved work can be lost.
There is no undo command for a terminated process. The safe recovery path is to reopen the affected app, restart the interrupted task, or restart the Mac if a system component does not recover. If the process restarts automatically, investigate the app or service that launches it instead of repeatedly terminating it.

Troubleshooting
top shows a different process each time
CPU usage changes constantly. A process may finish its task, allowing another process to become the busiest. Use:
top -o cpu
Watch the list for several refreshes. A persistent pattern is more useful than one high reading.
The process name is unfamiliar
Many apps use helper processes and background services. Copy the exact name and examine the full command with:
ps -p PID -o pid,ppid,user,%cpu,%mem,etime,command
Replace PID with the relevant process ID. Do not terminate an unfamiliar process until you understand what it does.
The CPU percentage is higher than 100%
On Macs with multiple CPU cores, a process can use more than one core. Therefore, a CPU percentage above 100% can be possible. Compare the process with other entries and observe whether the high use continues.
The process disappears before you can inspect it
Use a one-time sorted snapshot:
ps -Ao pid,ppid,%cpu,comm | sort -k3 -nr | head -n 11
This captures the list immediately. Run it several times to catch short-lived spikes.
Terminal says the process does not exist
The process may have ended, or its PID may have changed. Run top or the ps snapshot again and use the current PID. PIDs are not permanent identifiers for an app.
The Mac remains slow after the process stops
High CPU may be only one part of the problem. Check whether the issue returns after reopening the related app. Also consider available storage, memory pressure, a failing peripheral, or an app that launches the process again. If you are investigating storage-related slowdowns, identify which folders are consuming space before deleting anything.
Frequently Asked Questions
What is the fastest Terminal command for CPU usage?
Run:
top -o cpu
It opens a live list sorted by CPU use. Press Q to exit.
How do I see the single highest-CPU process only?
Use:
ps -Ao pid,ppid,%cpu,comm | sort -k3 -nr | head -n 2
The heading and the next line show the highest result from that snapshot.
Does running top slow down my Mac?
top uses some CPU to collect and display information, but it is intended for monitoring. Exit it with Q when you are finished.
Should I kill a process that uses 100% CPU?
Not automatically. A process may be doing legitimate work. Confirm that the usage persists, save your work, quit the related app normally, and use kill only when a process is unresponsive and you understand the risk.
Can Terminal show which app owns a process?
The COMMAND field and the detailed ps output can help identify it, but helper processes may not use the same name as the visible app. Use the full command, parent process, and the app’s behavior together.
Final Thoughts
Use top -o cpu for a live view or the sorted ps command for a one-time snapshot. Focus on sustained CPU use rather than a brief spike, identify the related app or task, and save your work before closing or terminating anything.