Show the busiest process in your Mac menu bar

The CPU meter tells you the Mac is busy. This one tells you who. A Script meter runs ps, which comes with macOS, takes the process at the top of the CPU list and sends its percent as the value and its name as the label. It’s the top row of Activity Monitor, without opening Activity Monitor.

Recipe tested October 29, 2026 with Multimeter 1.1. Source: Script.

Preview: the Label & Value face and two alternatives, with sample values like the ones this recipe returns.

What you need

  • Multimeter for macOS 13 or later, $19.99 once.
  • The direct download version of Multimeter from this site (the Script source isn’t in the Mac App Store version).

Set it up

  1. Try the command in Terminal. It prints the busiest process as a small JSON object:
    Command
    ps -Aceo pcpu=,comm= -r | head -1 | awk '{p=$1; $1=""; sub(/^ +/,""); gsub(/"/,""); n=substr($0,1,14); sub(/ +$/,"",n); printf "{\"value\": %s, \"label\": \"%s\", \"unit\": \"%%\"}\n", p, n}'
  2. Add a meter with the Script source and paste the command.
  3. Set Refresh every to 5 seconds, the range to 0 to 100, and alerts to High values: warning at 80, critical at 100.
  4. Pick a face that shows its label, like Label & Value, and drag Width to 120 pt. The label the command sends replaces the meter’s own, so the menu bar shows the process name. At the default width only short names fit, and the face hides a label that doesn’t fit.

Multimeter settings

In Customize This Meter… (from the meter’s menu):

Settings for this meter
SettingValue
SourceScript
Commandthe ps line above
Refresh every5 seconds
Range0 to 100
AlertsHigh values: warning 80, critical 100
FaceLabel & Value
Width120 pt
The Mac menu bar showing aa 399% in red, next to Spotlight, Control Center and the clock

Tested: Set up on October 31, 2026 in Multimeter 1.1.1 on macOS 27. With an Apple Archive compression running, the menu bar showed aa 399% in red. With one busy Google Chrome Helper process it showed Google Chrome 100%, and the memory version showed dd 1.4 GB during a 1.4 GB copy.

Script meters need the direct download version of Multimeter from this site, which is the one on sale now. How commands run, the PATH they see and the 10 second limit are in the Script meters guide.

Limits

  • Percent is counted the way Activity Monitor counts it: each core is 100%, so a busy process can show 150% or 400%. 100% means one whole core.
  • ps reports a short running average, so a process that just started or stopped takes a few seconds to move.
  • Names are the short process names ps gives (Google Chrome Helper, WindowServer, mds_stores), the same as Activity Monitor’s Process Name column. The command keeps the first 14 characters so the name fits next to the value, so Google Chrome Helper shows as Google Chrome.

Variations

Busiest by memory

Sends gigabytes in use, with the name as the label. Set the range to your Mac’s memory, like 0 to 16.

Command
ps -Aceo rss=,comm= -m | head -1 | awk '{m=$1/1048576; $1=""; sub(/^ +/,""); gsub(/"/,""); n=substr($0,1,14); sub(/ +$/,"",n); printf "{\"value\": %.1f, \"label\": \"%s\", \"unit\": \"GB\"}\n", m, n}'

Watch one app

Replace head -1 with grep -m1 Safari (or any name) to follow one app’s CPU instead of whoever is on top.

Troubleshooting

What the meter says, why, and what to do
SymptomCauseFix
The script didn’t print a numberThe command failed or printed an error message instead.Run the exact command in Terminal. If it works there, check for tools that live outside the meter’s PATH and use their full path (which tool).
The script took longer than 10 secondsA slow network call. Multimeter stops scripts after 10 seconds.Keep the -m timeout on curl, and refresh less often.
Scripts need the version from multimeterapp.comThis copy of Multimeter came from the Mac App Store, which can’t run scripts.Use the direct download version, or run the command from cron or launchd and point a File meter at its output.
The name never shows, only the numberThe face doesn’t show a label, or the meter is too narrow for the name. Label & Value drops a label that doesn’t fit.Pick Label & Value in Customize and set Width to 120 pt.

Questions

Does this work in the Mac App Store version?

Script meters need the direct download version from multimeterapp.com, because the App Store sandbox doesn’t let apps run your commands. Web Address, File and Sent Value meters work in every version.

Does the CPU meter show this already?

No. The CPU meter shows a total across all cores. This recipe adds a second meter for the single busiest process; use both if you want the total and the name.

What do process names like WindowServer or mds_stores mean?

They’re parts of macOS. See WindowServer, mds_stores, kernel_task and Google Chrome Helper.

Related

Put it in your menu bar

$19.99 one-time. No subscription. Needs macOS 13 Ventura or later.