Skip to content

About

macOS CPU monitor in your menu bar. See which app is eating CPU when your Mac feels stuck, then kill that process.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Languages: English | 简体中文

Mac Resource Monitor app icon: a rounded CPU chip

Latest release Requires macOS 26 or later MIT License

Mac Resource Monitor

macOS CPU monitor in your menu bar. See which app is eating CPU when your Mac feels stuck, then kill that process.

It is not Stats or Activity Monitor. There are no sensors and no process tree. Click the menu bar icon, see the hog, end that row. That icon is the only everyday entry, and it cannot be hidden.

Requires macOS 26 or later. Open source under the MIT License. Everything stays on your Mac — no account, no telemetry.

Menu bar table showing which apps are using CPU and memory, with an end control on each row

Supported platforms

  • macOS 26+ (Apple silicon and Intel)
  • Not Windows or Linux. This app reads macOS process identity, lives in the menu bar, and ends local processes. Those APIs do not exist elsewhere.

Install

Homebrew (recommended)

brew tap x0c/tap
brew install --cask mac-resource-monitor

Direct download

Grab the latest signed and notarized Mac-Resource-Monitor-x.y.z.dmg from the releases page, then drag Mac Resource Monitor to /Applications.

Mac Resource Monitor checks for updates automatically (via Sparkle). Right-click the menu bar icon for Check for Updates….

Build from source

Requires Xcode 26+ and XcodeGen:

git clone https://github.com/x0c/MacResourceMonitor.git
cd MacResourceMonitor
xcodegen generate
xcodebuild -project MacResourceMonitor.xcodeproj -scheme MacResourceMonitor -configuration Release \
  -destination 'platform=macOS' -derivedDataPath build/DerivedData build
rm -rf "/Applications/Mac Resource Monitor.app"
ditto "build/DerivedData/Build/Products/Release/Mac Resource Monitor.app" "/Applications/Mac Resource Monitor.app"
open "/Applications/Mac Resource Monitor.app"

Usage

  1. Click the menu bar dual ring (outer = CPU, inner = memory) to open the table under the icon.
  2. Rows show a human name, whole-machine CPU %, physical memory %, and an end control. Click the CPU or memory header to sort that column high-to-low.
  3. Hover the end control to pin that row so a refresh cannot swap it out from under the click. Click to end it.
  4. Click outside the table to close it. Right-click the icon for Launch at Login, Show Network Speed, Open Main Window, Settings, Check for Updates, or Quit.
  5. Launch at login is off by default. Login launches stay silent (no Settings window). The menu bar icon cannot be hidden.

If this unstuck a Mac, a star on the repo helps other people find it.

Command line: mrm doom

Same table, same safety rules, from the terminal (ships inside the app, linked to ~/.local/bin/mrm on first launch — nothing to install by hand):

mrm ps --dry-run 2>/dev/null   # preview only, nothing killed
mrm doom --dry-run             # preview the quiet-down plan
mrm doom                       # TTY asks once, then ends everything closable
mrm doom --yes --json > /tmp/doom.json  # scripts/agents: --yes required, capture with redirect (not pipes)
mrm status                     # verify it stayed quiet

doom only ends your own non-system rows and always keeps mrm itself, your terminal chain (including its terminal GUI), the menu-bar monitor and its sampler, Finder (macOS relaunches it), plus anything named by repeatable --exclude. --include-caller / --include-monitor opt back in.

Features

  • Flat table of the processes that actually matter, with human names (ChatGPT stays ChatGPT, not node)
  • Whole-machine CPU % (capped at 100%) and physical memory %
  • One-click end for your own processes, including Apple apps such as Safari, Notes and Mail; system services stay listed but cannot be killed
  • Freeze toggle (English Freeze / Chinese 冻结, off by default) keeps row order steady while numbers keep updating; tapping a column header sorts and turns Freeze off; hovering End pins that row
  • Network list keeps a recent frame and avoids a loading screen; heavy per-process sampling stops while the panel is closed; quiet processes stay at 0 KB/s briefly instead of flickering out
  • Menu bar dual ring keeps updating even when the table is closed or frozen

Not in scope

A Stats/iStat sensor dashboard, a dock icon, a desktop process table, an expandable process tree, Mac App Store, sandboxing, Accessibility / Full Disk Access, or Windows/Linux clients. A small recovery window after hiding the menu bar icon is required and is not a process table.

License

MIT

About

macOS CPU monitor in your menu bar. See which app is eating CPU when your Mac feels stuck, then kill that process.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages