Skip to main content

Real-time Mac system monitoring dashboard with smart optimization recommendations

Project description

macmon — Mac System Monitor

A dashboard that lives in your browser and tells you exactly what your Mac is doing — and what to do when it slows down. Runs locally. No account. No internet. Nothing leaves your machine.

macmon dashboard


Quick install (for developers)

Already have Python 3.9+ and pip? Three commands:

git clone https://github.com/jagangirisaballa/macmon.git
cd macmon
pip install -e .

Then macmon start — browser opens automatically. Done.

New to this? Skip to the step-by-step install guide below.


Why use this instead of Activity Monitor?

Activity Monitor shows you what's happening. macmon tells you what to do about it.

Activity Monitor macmon
CPU / RAM / Disk at a glance Scattered across 5 tabs One screen
Stop a background service cleanly No — force-kill only Yes, one click
Start a stopped service No Yes
"What should I do right now?" Nothing Ranked recommendations with fix buttons
Free up inactive memory No Yes (with one click)
Lives in a browser tab while you code No Yes

What's on the dashboard

Four metric cards (CPU, Memory, Swap, Disk) — colour-coded green/yellow/red, updated every 2 seconds.

Alert banner — appears when macmon detects a problem, with a plain-English explanation. Example: "Swap at 45% — memory pressure building".

Dev Services panel — lists every Homebrew service, Node server, Python server, and MCP server running on your Mac, with a toggle to stop or start each one. Background services quietly consume RAM even when you're not using them — this panel makes it trivial to free that memory.

Recommendations panel — macmon reads your current state and tells you exactly what to do. Examples:

  • "Redis using 48 MB — stop if not actively developing" → Execute button stops it
  • "Chrome using 1.2 GB across 14 processes — close tabs to free RAM" → manual action

Top Processes — the 10 heaviest processes on your Mac right now, sortable by CPU or Memory, with a kill button (asks for confirmation first).


Step-by-step install (for everyone)

What you need first

  • A Mac running macOS 12 (Monterey) or newer
  • Python 3.9 or newer — this is the only thing you need to install yourself. Everything else is automatic.

Step 1 — Open Terminal

Terminal is a built-in Mac app. You type commands into it, press Enter, and things happen.

  • Press Cmd + Space
  • Type Terminal
  • Press Enter

A window opens with a blinking cursor. Leave it open — you'll type everything here.


Step 2 — Check if Python is installed

Type this and press Enter:

python3 --version

What you'll see:

  • Python 3.9.x or higher → you're good, skip to Step 3
  • command not found or Python 2.x → you need to install Python (see below)

Installing Python (only if needed):

  1. Go to https://www.python.org/downloads/ in your browser
  2. Click the big yellow "Download Python 3.x.x" button
  3. A .pkg file downloads — open it from your Downloads folder
  4. Click Continue → Continue → Agree → Install — enter your Mac password if asked
  5. When it says "Installation was successful", click Close
  6. Press Cmd + Q to fully quit Terminal, then reopen it (Cmd + Space → Terminal)
  7. Run python3 --version again — it should now show Python 3.x.x

Step 3 — Download macmon

In Terminal, run:

git clone https://github.com/jagangirisaballa/macmon.git

This downloads the macmon files onto your Mac into a folder called macmon.

If a popup appears saying "Install Command Line Tools" — click Install and wait for it to finish (a few minutes). Then run the command above again.

Now move into that folder:

cd macmon

The text at the start of your Terminal line will now include macmon. That means you're in the right place.


Step 4 — Install macmon

pip3 install -e .

This installs the four small libraries macmon needs. Lots of text will scroll by — that's normal. It takes about 30 seconds. When your cursor comes back with no red error text, it worked.


Step 5 — Start the dashboard

macmon start

Your browser opens automatically and shows the macmon dashboard. You're done.

The address is http://localhost:9999 — this is like a website, but it only exists on your own Mac. Nothing outside your computer can see it.


Daily use — cheat sheet

What you want to do Command
Start the dashboard macmon start
Open the dashboard (already running) Go to http://localhost:9999 in your browser
Stop macmon completely macmon stop
Check if macmon is running macmon status
View logs (for troubleshooting) macmon logs
Start on a different port macmon start --port 8080

Tip: Bookmark http://localhost:9999. As long as macmon is running you can open the dashboard any time without touching Terminal.

macmon runs in the background — you can close Terminal after macmon start and the dashboard keeps working. Use macmon stop when you want to shut it down completely.


Troubleshooting

macmon: command not found Close Terminal fully (Cmd + Q), reopen it, and try again. If that doesn't fix it, run pip3 install -e . again from inside the macmon folder.

Browser doesn't open automatically Open your browser manually and go to http://localhost:9999. If that shows nothing, run macmon stop then macmon start.

Dashboard stuck on "Connecting…" The server stopped unexpectedly. Run macmon stop then macmon start.

Port 9999 is already in use Something else is using that port. Run macmon start --port 8080 and open http://localhost:8080 instead.

Something else went wrong Run macmon logs and look at the last few lines. If you're filing a bug report, paste that output into the issue.


Optional: macOS notifications

macmon can send you a native Mac notification (like the ones from Messages or Mail) when your system is under memory pressure.

Requires Homebrew. If you have it:

brew install terminal-notifier

If you don't have Homebrew, skip this — macmon works fine without it.


Requirements

  • macOS 12 (Monterey) or newer — Apple Silicon or Intel
  • Python 3.9+ (free at python.org)
  • Homebrew (optional — enables service stop/start and notifications)

Contributing

PRs welcome. Open an issue first for anything major.

License

MIT © Jagan Girisaballa

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

macmon-1.0.0.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

macmon-1.0.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file macmon-1.0.0.tar.gz.

File metadata

  • Download URL: macmon-1.0.0.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for macmon-1.0.0.tar.gz
Algorithm Hash digest
SHA256 44383218b1296e5b068bfec805f9d1b7e8763b4ff1f084795ab2aa4fba6650b6
MD5 ee493efb676726fff5d86f2f26b9309f
BLAKE2b-256 89d9103c87feca7c70da2fe26f18dd4be30e97a18c13170ff5fc17005b596d2a

See more details on using hashes here.

File details

Details for the file macmon-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: macmon-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for macmon-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dcd6499900a32630feeff101365fb68215e235226de2a05872bd0d7cf4680b62
MD5 d228a0af99bcaa9fec41ac32d1cd5690
BLAKE2b-256 31c6e7322e32bd0c5f018cc2ff39ff4dd6501cd2abcbd98516b078aec952b64b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page