Better Resource Monitor

Better Resource Monitor

A menu bar/tray system monitor for macOS.

Download on the Mac App Store Download macOS on GitHub Releases

Features Comparison Installation

Features

  • Written in Rust. Uses < 0.1% CPU and ~15 MB RAM (measured on Apple M1).
  • GPU monitoring for Apple Silicon (active residency via IOReport).
  • Right-click the menu bar icon to toggle CPU, GPU, memory, or network stats. GPU only appears when hardware is detected.
  • Runs entirely offline. No analytics, no network requests, no telemetry.

How it works

ComponentmacOS
CPU/Memory/Networksysinfo crate
GPU MetricsIOReport FFI (private APIs)

On macOS, GPU metrics report active residency instead of utilization — residency counts time the GPU is actually doing work, not just allocated. No sudo required, no dock icon.

macOS Version Differences

Feature App Store GitHub Download
CPU MonitoringYesYes
Memory MonitoringYesYes
Network MonitoringYesYes
GPU MonitoringNoYes
Automatic UpdatesYesNo

Why no GPU in App Store? GPU monitoring requires Apple’s private IOReport framework. Apple rejects apps using private APIs during App Store review. The GitHub download version is notarized but not sandboxed, so it has full GPU access.

Download from GitHub Releases with GPU support

Comparison

Better Resource Monitor Stats iStat Menus
PriceFreeFree$14.99
LicenseMITMITProprietary
Memory~15 MB~45 MB~60 MB
CPU< 0.1%< 0.5%< 0.5%
App Size< 7 MB (.app)~30 MB~40 MB
GPUIOReportIOReportProprietary

Third-party figures are approximate and may vary by version and system configuration.

Installation

macOS

App Store (Recommended): Download from the Mac App Store. Automatic updates, but no GPU monitoring.

GitHub Download (GPU Support): Download the latest .dmg from GitHub Releases. Includes GPU monitoring for Apple Silicon.

Build from Source

Prerequisites

Install Tauri v2 prerequisites for your platform, plus pnpm.

Build

git clone https://github.com/alexx855/better-resource-monitor.git
cd better-resource-monitor
pnpm install
pnpm tauri build

Development

# Run in development mode with hot reload
pnpm tauri dev

# Run tests
cd src-tauri && cargo test

# Run tests with coverage (requires cargo-llvm-cov)
cargo install cargo-llvm-cov
cd src-tauri && cargo llvm-cov --lib --html --output-dir coverage/

Credits