A lightweight macOS menu bar app built with [Python] and [rumps]. Real-time CPU, memory, and process monitoring — no Electron, no Dock icon, no bloat.
View the [source code] or try the [live demo] below. ★ Star on GitHub
Data flows through four logical stages every 5 seconds. Click each stage to see details.
Every 5 seconds, native macOS APIs are called to sample the full system state.
vm_stat | grep "Pages" sysctl -n vm.memory_pressure psutil.cpu_percent(interval=None) psutil.process_iter(['pid','name','cpu_percent'])
Switch between views to see what each part of MacMonitor exposes.
macmonitor ~/ $ python main.py C:43% M:71% ← live in your menu bar States: C:XX% M:XX% normal WARN C:XX% M:XX% pressure warn HIGH C:XX% M:XX% pressure high STRESS C:XX% M:XX% lag risk detected Refreshes every 5 seconds. Click to expand.
Requires Python 3.9+ and macOS 12 Monterey or later.
Auto-start on login via LaunchAgent — see the [docs].
Logs at ~/Library/Logs/MacMonitor/macmonitor.log.