Getting started

Installation

1

Download the DMG

Download MacPulse from the website. The file is a standard macOS disk image.

2

Drag to Applications

Open the disk image and drag the MacPulse icon to your Applications folder.

3

Launch

Open MacPulse from Applications. macOS may ask you to confirm since it was downloaded from the internet. Click "Open" to proceed.

4

Onboarding

On first launch, a brief onboarding screen introduces the key features. Your 14-day free trial begins automatically — no account needed.

System Requirements

  • macOS 14 Sonoma or later (including macOS 15 Sequoia)
  • Apple Silicon (M1, M2, M3, M4) or Intel Mac
  • Approximately 50 MB disk space
Note

MacPulse runs outside the App Store sandbox to access hardware sensors (SMC temperatures, fan speeds, GPU stats). This is why it's distributed directly rather than via the Mac App Store.

The dashboard

The dashboard is your command center. It uses a sidebar + detail layout (NavigationSplitView) with an adaptive grid that adjusts to your window size.

Sidebar

The sidebar is divided into two sections:

  • Monitoring — The seven hardware modules (CPU, Memory, Network, Disk, Thermal & Fans, Battery, GPU)
  • Analytics — History & Trends, Insights, Performance Sessions

Click any item to see its detail view on the right. Your last sidebar selection is remembered between sessions.

Dashboard Cards

When you select a monitoring module, you'll see a detail view with:

  • A circular gauge or bar meter showing the primary metric
  • Real-time line charts showing the last 60 samples (5 minutes at default polling)
  • Detailed statistics with formatted values
  • Module-specific components (per-core grid for CPU, composition bar for Memory, etc.)
Tip

The dashboard window remembers its size and position between launches via macOS frame autosave. Resize it once to your preference and it'll stay that way.

Monitoring modules

MacPulse monitors seven hardware subsystems in parallel. Data is collected every 5 seconds (configurable) using low-level macOS APIs.

CPU

Per-core usage, P/E clusters, user/system split

Memory

Wired, compressed, cached, free, swap, pressure

Network

Per-interface throughput, upload/download rates

Disk

Volume usage, I/O rates, external drives, eject

Thermal & Fans

SMC temps, fan RPM, manual control, curves

Battery

Charge, health, cycles, temp (laptops only)

GPU

Utilization, memory, device name, temperature

CPU Module

Shows total CPU usage with a circular gauge, plus a per-core grid that visualizes each core as a bar. On Apple Silicon Macs, cores are labeled as P-cores (performance) and E-cores (efficiency) with distinct color coding. The detail view also breaks down user vs. system usage.

Memory Module

Displays total memory usage with a composition bar showing wired (kernel), compressed, cached (app), and free memory as stacked segments. Also shows swap usage and the current memory pressure level (nominal, warn, critical).

Network Module

Tracks per-interface throughput for all active network interfaces (Wi-Fi, Ethernet, etc.). Shows upload and download rates as a dual-line chart with color-coded series. Total byte counters are displayed in human-readable format.

Disk Module

Lists all mounted volumes with usage bars. Shows real-time I/O read/write rates. For external drives, displays the connection type (USB, Thunderbolt, etc.) and provides an eject button for removable volumes.

Thermal & Fans Module

Reads SMC temperature sensors (CPU, GPU, ambient, and more) and fan RPMs. Includes fan speed control with custom curves — see the Fan Control section for details.

Battery Module

Shows charge percentage, power source (battery/AC), estimated time remaining, health status, cycle count, and battery temperature. This module is automatically hidden on desktop Macs that don't have a battery.

GPU Module

Reports GPU utilization (via IOKit IOAccelerator), memory usage (via Metal), device name, and temperature. On Apple Silicon, memory is unified — the GPU shares the same RAM pool as the CPU.

History & trends

Every data point is persisted to a local SQLite database at ~/Library/Application Support/MacPulse/macpulse.sqlite. The History & Trends view lets you browse this data across three time ranges:

  • 24 Hours — Full resolution (every minute)
  • 7 Days — 5-minute averages, downsampled to ~500 points
  • 30 Days — Hourly averages, intelligently downsampled

Select any module from the dropdown to see its historical chart. Charts use date-based X-axes and support all the same metrics as the real-time view.

Data Retention

MacPulse automatically compacts old data to save disk space:

  • After 24 hours: minute-level data is averaged into 5-minute buckets
  • After 7 days: 5-minute data is averaged into hourly buckets
  • After 30 days: data older than 30 days is deleted

Insights engine

The Insights view analyzes your historical data and generates plain-English summaries about your system's behavior. These are rule-based observations, not AI-generated — they're deterministic and based on actual thresholds.

Example insights:

  • "Memory usage has been above 80% for the past 2 hours"
  • "CPU averaged 34% over 24 hours with a peak of 92%"
  • "Temperature exceeded 85°C three times today"
  • "Battery health is at 87% after 342 cycles"

Insights are color-coded by severity and refresh automatically when you navigate to the view.

Performance sessions

Performance Sessions let you capture detailed system metrics at 1-second intervals during intensive tasks. This is ideal for gaming benchmarks, video export monitoring, or build performance analysis.

Recording a Session

  1. Navigate to Performance in the sidebar
  2. Enter a session name (e.g., "Cyberpunk 2077 benchmark")
  3. Click Start Recording
  4. Perform your task — live charts update in real-time
  5. Click Stop Recording when done

Session Data

Each sample captures:

  • FPS and frame time (ms) via CVDisplayLink
  • CPU usage and GPU utilization
  • Temperatures (CPU, GPU, max)
  • Memory usage and GPU memory

Reviewing Sessions

Select any completed session from the list to see summary statistics (average FPS, 1% low FPS, average frame time, max temperature, average CPU/GPU) and detailed timeline charts. You can export sessions to CSV for further analysis.

Note

Performance sessions use dedicated collector instances that poll at 1-second intervals, which uses slightly more CPU than normal monitoring. Stop the recording when you're done to return to normal resource usage.

Fan control

MacPulse can override your Mac's automatic fan management with custom temperature-to-RPM curves. Navigate to Thermal & Fans to access fan controls.

Presets

Four built-in presets are available:

  • Silent — Keeps fans at minimum until temperatures are high
  • Balanced — Moderate fan speed ramp, good for everyday use
  • Performance — Aggressive cooling, fans spin up earlier
  • Full Speed — Maximum RPM regardless of temperature

Custom Curves

Create your own curve by dragging control points on the temperature-to-RPM chart. The curve uses linear interpolation between points. Custom curves are saved as JSON at ~/Library/Application Support/MacPulse/fan_curves.json.

Safety

  • A thermal watchdog forces all fans to maximum RPM if CPU temperature exceeds 95°C, regardless of the active curve
  • When you quit MacPulse, all fans automatically reset to macOS automatic control
  • The curve application loop polls every 5 seconds, reading the current CPU temperature and adjusting fan speeds accordingly
Caution

Setting fans too low at high temperatures can cause thermal throttling or shutdowns. The built-in thermal watchdog provides a safety net, but use custom curves responsibly.

Desktop widgets

MacPulse includes WidgetKit widgets that display system metrics on your macOS desktop.

Adding Widgets

  1. Right-click your desktop and select Edit Widgets
  2. Search for "MacPulse" in the widget gallery
  3. Choose a size: Small (single gauge), Medium (three gauges + network), or Large (full overview)
  4. Drag the widget to your desktop

How Data Flows

The main MacPulse app writes averaged system data to a shared location every 15 minutes. Widgets refresh every 5 minutes using WidgetKit's timeline system. This approach minimizes battery and CPU impact while keeping widgets reasonably up-to-date.

Important

MacPulse must be running for widgets to receive updated data. If MacPulse is quit, widgets will show the last known values until the app is relaunched.

Data export

MacPulse supports exporting data to CSV files for analysis in spreadsheets, databases, or custom scripts.

Historical Data Export

In the History & Trends view, select a module and time range, then click the export button. The CSV includes all columns for that module (timestamps, values, granularity level).

Performance Session Export

In the Performance view, select a completed session and click Export CSV in the session header. The CSV includes per-second readings of FPS, frame time, CPU/GPU usage, temperatures, and memory.

Both export methods use a standard macOS save dialog so you can choose where to save the file.

Settings

Access settings via the menu bar: MacPulse → Settings (or + ,).

General

  • Text Size — Scale all UI text from Small (85%) to Extra Large (130%)
  • Launch at Login — Start MacPulse automatically when you log in
  • Start Minimized — Launch to menu bar without showing the dashboard
  • Menu Bar Only Mode — Hide the Dock icon entirely
  • Update Interval — Polling frequency: 5s, 10s, or 30s
  • Metal HUD — Show Apple's built-in performance overlay in Metal apps
  • FPS Overlay — Display a compact FPS counter on the dashboard

Notifications

Configure alert thresholds for CPU usage, memory pressure, temperature, and battery level. Notifications have a 15-minute cooldown per type to avoid spam. CPU alerts require sustained high usage (multiple consecutive readings) before triggering.

Menu Bar

Toggle which modules appear in the menu bar companion popover. Each of the seven modules can be shown or hidden independently.

About

Shows version info, license status, and activation controls. You can activate, validate, or deactivate your license key from this tab.

License management

Trial

MacPulse starts with a 14-day free trial that includes all features. The trial countdown is shown in Settings → About with a progress bar. No account or credit card is required.

Activation

  1. Purchase a license from the pricing page
  2. Copy the license key from your confirmation email (UUID format)
  3. Go to Settings → About → Activate License Key
  4. Paste the key and click Activate

Your license is validated online and stored securely in the macOS Keychain. An offline grace period of 7 days allows continued use when you don't have internet access.

Deactivation

To move your license to a different Mac, go to Settings → About and click Deactivate. This frees up the activation slot so you can activate on another machine.

Tip

Your historical data is never deleted when a trial expires or a license is deactivated. It will be fully accessible once you activate a valid license.