Guides/Vitals vs ProcXray

Vitals vs ProcXray

Atta 🐬

Founder, Vitals

ProcXray checked

Quick answer

Vitals is an activity monitor and process inspector for Mac: CPU, GPU, memory, temperatures, fans, disk, network and battery in the menu bar and in a window, every app with its helper processes counted in, a Process Inspector with any process’s code signature, parent, command line, CPU time and memory peak, up to a year of history, a notification when an app misbehaves, dev servers and their ports, Docker containers, coding agents and AI plans, a volume slider for every app, and a vitals command and MCP server, paid once. ProcXray is a process explorer for developers: a tree of every process with its files, connections, libraries and code signature, and it keeps processes that exit within a second. Choose it for connections and libraries; choose Vitals for the whole Mac with the inspector included.

VitalsProcXray
What it is
VitalsAn activity monitor and process inspector, in the menu bar and a window
ProcXrayA process explorer for developers
List of what is running
VitalsEvery app, with its helper processes counted in
ProcXrayA process tree or a flat list of processes
Helper processes counted under their app
VitalsYes
ProcXrayNot stated
History
VitalsEvery metric, per app, for up to a year
ProcXrayPer-process CPU, GPU, memory and power, length not stated
Alerts
VitalsWhen an app keeps the CPU busy, keeps growing in memory, or hammers the disk or network
ProcXrayWatches on a process, app or executable: start, exit and thresholds
Temperatures and fans
VitalsTemperatures, fan speed and fan control
ProcXrayNo
Open ports
VitalsPer process in the inspector, and grouped by project with idle dev servers pointed out
ProcXrayPer process, with its connections
Process detail
VitalsThe Process Inspector: code signature and Team ID, entitlements, parent process and launch agent, command line and environment, open files and ports, CPU time, memory against its peak, and child processes
ProcXrayFiles, environment, libraries, code signature and entitlements
An app’s version and Info.plist
VitalsVersion, bundle ID and the whole Info.plist, as CSV too
ProcXrayNot stated
Quit and force quit
VitalsQuit or force quit an app or a single process, after a confirmation; suspend and resume either, and send a process any signal
ProcXrayTerminate, force kill, suspend and send signals
Processes that exit quickly
VitalsEnded Recently keeps what ended in the last ten minutes; one that lives for less than a second is missed
ProcXrayKept in the list after they exit
GPU and Neural Engine
VitalsGPU, and the Neural Engine on Apple silicon, each with the apps using it
ProcXrayGPU per process; the Neural Engine is not stated
Docker containers
VitalsA tab with every container’s memory, CPU, network and ports
ProcXrayNot stated
AI assistants
VitalsAn MCP server: Claude, Codex and Cursor can ask what is running, and for any process’s details
ProcXrayNot stated
Command line
VitalsA vitals command: apps, ports, agents, AI limits and any process’s details, as a table or as JSON
ProcXrayNot 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
ProcXrayNot stated
Colors, fonts and spacing
VitalsChart colors, the font and weight of the numbers, comfortable or compact, light or dark
ProcXrayNot stated
Price
Vitals$15 once, for life, during the launch; $39 after
ProcXrayFree basic tier; $15 once for everything, 3 Macs
Trial
Vitals3 days, no card, and a 14-day refund
ProcXray14 days of every feature
Requirements
VitalsmacOS 15 or later
ProcXraymacOS 14 or later

Choose Vitals if

  • You want to know which app is using the Mac, helpers counted in
  • You want a process’s code signature, parent and command line, under the app it belongs to
  • You want to suspend a whole app, helpers and all, and resume it later
  • You want up to a year of history and alerts for every app
  • You want temperatures, fans and battery in the same app
  • You want dev servers grouped by the project they belong to
Get Vitals for $15

Choose ProcXray if

  • You need a process’s connections, or the libraries it loaded
  • You want to catch processes that exit within a second
  • You want a free tier
ProcXray website

Where Vitals pulls ahead

Apps first, processes when you want them

Vitals shows one row per app with its helpers folded in, the processes underneath when you open it, and a Process Inspector for any of them: code signature, parent process, command line, CPU time and memory peak. ProcXray shows a tree of processes.

The whole Mac, not one process

Vitals has temperatures, fans, battery and a menu bar, so the app that made the fans spin and the temperature that made them spin sit in the same window. ProcXray has none of the four.

Up to a year, for every app

Vitals keeps up to a year for every app, and alerts you when one misbehaves while you were not looking. ProcXray keeps per-process history for a length its site does not state.

See it for yourself

The Process Inspector on three processes from a developer’s Mac: the code signature, parent process and command line of each, and the CPU time, memory, files and ports it has used since it started.

node
Terminal · PID 60412
Memory
486 MB
CPU
0.6%
Disk
0 kB/s
Identity
Parent Process
zsh (60120)
Launched By
Terminal (581)
Running For
2d 4h
Executable
Architecture
Apple silicon · arm64
Arguments
node_modules/.bin/next dev --port 3000
Network
Listening Ports
3000
Child Processes
next-router-worker60418212 MB
next-render-worker60421180 MB
Security
Signature
Node.js Foundation · Team ID HX7739G8FX
Hardened Runtime
Yes
Sandbox
No
Resource Usage
CPU Time
1h 52m User 1h 42m · 91%System 10m 5s · 9%
Memory
486 MB · 61% of its 797 MB peak
Threads
19
Open Files
203
Environment48
Google Chrome Helper (Renderer)
Tab Process
Memory
1.92 GB
CPU
4.2%
Disk
12 kB/s
Identity
Parent Process
Google Chrome (48190)
Launched By
Google Chrome (48190)
Running For
6h 12m
App
Version
156.0.8078.74
Architecture
Universal · x86_64 · arm64
Arguments
--type=renderer --lang=en-US --num-raster-threads=4 --enable-zero-copy
Security
Signature
Google LLC · Team ID EQHXZ8M8AV
Hardened Runtime
Yes
Sandbox
No
Entitlements
1
Resource Usage
CPU Time
12m 40s User 10m 23s · 82%System 2m 17s · 18%
Memory
1.92 GB · 88% of its 2.18 GB peak
Threads
23
Open Files
96
Environment31
com.docker.backend
Docker · PID 20311
Memory
1.57 GB
CPU
2.1%
Disk
340 kB/s
Identity
Parent Process
Docker (20288)
Launched By
Docker (20288)
Running For
3d 1h
App
Version
4.88.1
Architecture
Apple silicon · arm64
Arguments
-watchdog -max-restarts 5
Child Processes
com.docker.build2034064 MB
Security
Signature
Docker Inc · Team ID 9BNSXJN65R
Hardened Runtime
Yes
Sandbox
No
Entitlements
7
Resource Usage
CPU Time
3h 8m User 2h 0m · 64%System 1h 8m · 36%
Memory
1.57 GB · 77% of its 2.04 GB peak
Threads
48
Open Files
241
Environment29

Everything Vitals does

One app, paid once, no subscription.

  • 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.
  • Temperatures and fans. CPU and GPU temperature on Intel and Apple silicon, M5 included, and fan speed. Run the fans on automatic, at a speed you choose, along a curve you draw, or at full speed for a while. The menu bar temperature can follow the CPU, the GPU or the hottest sensor.
  • 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.
  • 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.
  • The Process Inspector. Click any process for the app it belongs to, its code signature, Team ID and entitlements, its parent process and launch agent, its full command line, the processes it started, and the CPU time, memory, open files and listening ports it has used since it started. An app’s version, bundle ID and Info.plist too. Copy it as text, save it as CSV, or get the same from vitals process in Terminal and over MCP.
  • 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.
  • Alerts for misbehaving apps. A notification when an app keeps the CPU busy, keeps growing in memory, or hammers the disk or network.
  • 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 the same way.
  • 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.
  • 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.
  • 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.
  • 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

…it doesn't feel overwhelming or bloated in the slightest. It feels native. Lightweight. It's an absolutely vital app.

Merlin ★★★★★ Verified owner

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

I’ve tried many monitoring tools in the past, and Vitals just shows me exactly the information i need to see.

Tobias Strebitzer ★★★★★ CTO · Verified owner

Read all 152 on the wall of love

Common questions

Does Vitals show a process’s code signature, parent and launch agent?

Yes. Click any process and its drawer gives its code signature with the Team ID, whether it uses the hardened runtime and a sandbox, its entitlements, its parent and the app that launched it, the launch agent or daemon behind it, and its full command line and environment. The same comes as CSV, as vitals process in Terminal, and over MCP.

Can I use Vitals and ProcXray together?

Yes, and they suit each other: Vitals to find which app is responsible and read what the process is, ProcXray for its connections and libraries.

Does Vitals show open ports?

Yes: the ports a process listens on in its drawer, and all of them grouped by the project that holds them, with idle dev servers pointed out and offered to stop. It does not list every connection of every process the way ProcXray does.

Does Vitals catch processes that exit within a second?

No. Vitals samples the Mac every few seconds and keeps what it sees; a process that lives for a moment is ProcXray's job. One that ran for a while and ended stays under Ended Recently in its app's drawer for ten minutes.

Lifetime for $15 while the launch price lasts

One-time paymentLifetime updates14-day refund

Get Vitals for $15

How we compared

The ProcXray column comes from its maker's own site on September 22, 2026. Where the site 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.