Guides/Vitals vs btop

Vitals vs btop

Atta 🐬

Founder, Vitals

btop checked

Quick answer

btop and Vitals both show what your Mac is doing, from different places. btop is a free, full-screen monitor for the terminal, with graphs and a process tree, on macOS, Linux and BSD. Vitals lists apps instead of processes, keeps up to a year of history and sends alerts, in a window and the menu bar, and since 1.8 it answers in the terminal too, with the vitals command and JSON for scripts.

Vitalsbtop
What it is
VitalsAn Activity Monitor replacement: a window, the menu bar and a terminal command
btopA full-screen monitor in the terminal
Where it runs
VitalsA window, the menu bar and Terminal, on the Mac it watches
btopThe terminal, on macOS, Linux and BSD, over SSH too
List of what is running
VitalsEvery app, about 60 rows, with its helper processes counted in
btopEvery process, with a tree view
Live view
VitalsThe window and the menu bar; vitals status --watch in the terminal
btopFull screen, with graphs for CPU, memory, network and disk
History
VitalsEvery metric, per app, for up to a year
btopNone beyond the session
Alerts
VitalsWhen an app keeps the CPU busy, keeps growing in memory, or hammers the disk or network
btopNone
Ending a process
VitalsQuit or force quit, after a verdict on whether it is safe
btopAny signal, from the list
Dev servers and open ports
VitalsGrouped by project, with whether each port is open to the network
btopNot stated
For scripts
VitalsJSON or CSV from every vitals command
btopNot stated
AI assistants
VitalsAn MCP server: Claude, Codex and Cursor can ask what is running
btopNot stated
Coding agents and AI plans
VitalsEvery running agent and what it started, what is left of each AI plan and when it resets, and the tokens used
btopNot stated
GPU and temperature
VitalsGPU, and the Neural Engine on Apple silicon, each with the apps using it; CPU and GPU temperature, fan speed and fan control
btopApple silicon GPU since version 1.4.7, CPU temperature and battery
Open source
VitalsNo
btopYes, Apache 2.0
Price
Vitals$9 for a year of updates, or $15 for life during the launch ($39 after). Paid once
btopFree (Apache 2.0 license)
Requirements
VitalsmacOS 15 or later
btopmacOS, Linux, FreeBSD, NetBSD or OpenBSD

Choose Vitals if

  • You want to know which app is responsible, not which process
  • You want up to a year of history and alerts
  • You want answers a script or an agent can read, as JSON
Get Vitals for $15

Choose btop if

  • You want a live, full-screen view in the terminal
  • You also watch Linux or BSD machines
  • You want free and open source
btop website

Where Vitals pulls ahead

Apps, not a thousand rows

btop lists every process, so a browser is dozens of rows. Vitals adds each helper to the app that started it, in the window and in vitals top alike, so Chrome is one row with one figure.

It remembers, and it tells you

btop shows the session in front of you. Vitals keeps up to a year for every app and sends a notification when one keeps the CPU busy or keeps growing in memory, so a slow afternoon can still be explained in the evening.

Answers a script can read

btop is a view for a person. Every vitals command answers in JSON or CSV as well, so a script, a cron job or a coding agent can ask what is using the Mac and get the same answer you see.

See it for yourself

The same Mac, listed the way Activity Monitor lists it and the way Vitals does. Tap Vitals to watch about 900 processes become eight apps.

922 processes
Google Chrome
96 processes
21.19 GB
Google Chrome Helper (Renderer) 48211 1.92 GB
Google Chrome Helper (Renderer) 48377 1.31 GB
Google Chrome Helper (GPU) 48190 842 MB
Visual Studio Code
63 processes
8.17 GB
Code Helper (Renderer) 1904 1.12 GB
Code Helper (Plugin) 1933 968 MB
Code Helper (GPU) 1899 412 MB
Terminal
49 processes
3.81 GB
node 60412 486 MB
node 60533 391 MB
zsh 60120 12 MB
Safari
16 processes
2.69 GB
Safari Web Content 7731 612 MB
Safari Web Content 7790 388 MB
Safari Networking 7702 94 MB
Docker
9 processes
1.57 GB
Slack
13 processes
1.06 GB
Figma
14 processes
912 MB
Zoom
8 processes
640 MB

Everything Vitals does

One app, paid once, no subscription.

  • Processes grouped by app. Every helper process is added to the app that launched it, so a working Mac shows about 60 apps instead of about 1,000 processes, each with one figure for memory, CPU, energy, disk and network.
  • A tab per subsystem. Overview, CPU, Memory, Disk, Network, GPU, Neural Engine, Battery, Sound, Bluetooth and Projects, plus Containers while Docker runs, each with its live figures and the apps behind them.
  • Your coding agents, and what is left of your plans. An Agents tab with every running coding agent, Claude Code, Codex, Gemini CLI and the rest: its project, what it is doing right now, and everything it started, with Quit for the session and all of it together. For Claude, Codex, GitHub Copilot, Cursor, Antigravity, Grok, Ollama and OpenCode, how much of each plan is left, when it resets and whether you are on pace, for every account signed in on the Mac, and the tokens Claude Code and Codex used today and this week.
  • An MCP server for Claude, Codex and Cursor. Claude, Claude Code, Codex, Cursor and any assistant that speaks MCP can ask what is running, which app is behind a number, what is on a port, and what the last 30 days looked like. It cannot quit anything by itself: Vitals asks you first. Off until you turn it on.
  • The vitals command. A command for the terminal that answers from the running app: the apps using the most, ports and dev servers by project, coding agents, what is left of each AI plan and up to a year of history, as a table or as JSON. Quitting and stopping ask first. It comes with the app, or with Homebrew.
  • A Neural Engine tab. How hard the Neural Engine is working, which apps are using it, and a chart of the last minutes, in the window, the menu bar and on the Overview. On Macs with Apple silicon.
  • Inside your browser. Click Chrome, Safari, Firefox, Edge, Brave, Arc or Dia to see its memory and CPU split into tabs, extensions, graphics and the browser itself. Slack, VS Code and similar apps are split by window.
  • Up to a year of history. CPU, memory, energy, disk and network from the last hour to the last year, with the apps that used the most, ranked hour by hour for the last two days. Keep 30 days, 90 days, 6 months or a year.
  • What keeps the Mac awake, and the fans on. The Battery tab lists the apps holding sleep off, what each said it is doing and for how long. When the Mac runs hot, Vitals names the apps behind it, with Quit beside each.
  • Alerts for misbehaving apps. A notification when an app keeps the CPU busy, keeps growing in memory, or hammers the disk or network.
  • Dev servers and open ports, by project. Processes grouped by the project folder they run in, with their listening ports, and dev servers left idle for days pointed out and offered to stop.
  • A menu bar you arrange. Every readout can be its own menu bar item: CPU, memory, GPU, network, disk, temperature, fan speed or battery, as a value, a graph or both, ⌘-dragged into any order. Behind it, a dropdown with every metric, the busiest apps, and a tab for each metric.
  • Make it yours. Vitals’ own colors, Monochrome, or a set made for color blindness. The numbers in Rounded, San Francisco, SF Mono, New York or any font on the Mac, light to bold. Comfortable or compact spacing, charts of the last 5, 15 or 30 minutes, light or dark, and exported pictures in the same look.
  • Arrange the window and the dropdown. Choose the window’s tabs and their order, and show, hide or reorder the sections, cards and lists on every tab. The dropdown has its own tiles and a List layout with one line per metric. Reset puts everything back.
  • Docker containers. A Containers tab with every Docker container’s memory, CPU, network and ports, in the window and the dropdown, and Stop on each, after a confirmation.
  • Sound and Bluetooth tabs. The Mac’s output device and level with a slider for every app playing sound, the microphone and the apps using it, and every connected Bluetooth device with its battery, lowest first.
  • Units you choose. Celsius or Fahrenheit, bytes or bits for network speed, and CPU per core or per Mac, each with a live example in Settings.
  • Temperatures and fans. CPU and GPU temperature on Intel and Apple silicon, M5 included, and fan speed. Hold any fan at a speed you choose, and hand it back to the Mac in one click. The menu bar temperature can follow the CPU, the GPU or the hottest sensor.
  • Quit and force quit. Quit an app or a single process, always after a confirmation.
  • Keyboard shortcuts and Shortcuts actions. Open the dropdown or the window from any app, and get a reading or the busiest app from the Shortcuts app.
  • Export as an image. Save or copy a snapshot of the Mac as a 1200 × 630 share card or a dashboard image.
  • In the Dock, if you like. Show in Dock keeps Vitals in the Dock like Activity Monitor. Opened by hand it shows its window; at login it stays in the menu bar.

What Mac users say

Now I find myself stealing quick glances at the menu bar, instead of taking another sip of coffee.

Ed WisemanVerified on X Emmy-winning director and producer

macOS Activity Monitor is horrible when I’m juggling dev projects and local AI. Vitals is so much better.

KnowixVerified on X Developer and AI builder

After years of using iStats, I’ve uninstalled it, even with a lifetime license. Switched to Vitals on both my Mac Studio and my laptop.

DustyFskiVerified on X

Read all 132 on the wall of love

Common questions

Can I use btop and Vitals together?

Yes. They read the same Mac and change nothing for each other: btop for a live view in a terminal, Vitals for which app, since when, and answers by app with the vitals command.

Does Vitals have a full-screen view like btop?

No. The vitals command answers a question and stops; add --watch and it refreshes every two seconds. The live, full-screen view is btop’s, and for it btop is the right tool.

Which one is for servers?

btop. It runs on Linux and BSD as well as macOS. Vitals watches the Mac it runs on.

Lifetime for $15 while the launch price lasts

One-time paymentLifetime updates14-day refund

Get Vitals for $15

How we compared

The btop column comes from its README on GitHub on October 21, 2026. Where the README does not say whether it does something, the cell says "Not stated". If a cell is out of date, email us and we will fix it.

More comparisons

Wondering why apps show so many rows in Activity Monitor? Read about helper processes.