Source Code
Mactop Skill
Execute mactop in headless TOON mode and parse the output for hardware metrics.
Prerequisites
- mactop installed:
brew install mactop - PATH includes /usr/sbin: Required for sysctl access
Usage
Get Full Metrics
mactop --format toon --headless --count 1
Parse Key Metrics
CPU Usage:
mactop --format toon --headless --count 1 | grep "^cpu_usage:" | awk '{print $2}'
RAM (used/total GB):
mactop --format toon --headless --count 1 | grep -E "^ (Used|Total):" | awk '{printf "%.1f", $2/1073741824}'
GPU Usage:
mactop --format toon --headless --count 1 | grep "^gpu_usage:" | awk '{print $2}'
Power (total/CPU/GPU):
mactop --format toon --headless --count 1 | grep -E "^ (TotalPower|CPUPower|GPUPower):" | awk '{print $2}'
Thermal State:
mactop --format toon --headless --count 1 | grep "^thermal_state:" | awk '{print $2}'
Temperature:
mactop --format toon --headless --count 1 | grep "^ SocTemp:" | awk '{print $2}'
Chip Info:
mactop --format toon --headless --count 1 | grep "^ Name:" | awk '{print $2}'
Network I/O (bytes/sec):
mactop --format toon --headless --count 1 | grep -E "^( InBytesPerSec| OutBytesPerSec):" | awk '{print $2}'
Thunderbolt Buses:
mactop --format toon --headless --count 1 | grep "^ Name:" | awk '{print $2}'
Options
| Option | Description |
|---|---|
--count N |
Number of samples (default: 1) |
--interval MS |
Sample interval in milliseconds (default: 1000) |
TOON Format
timestamp: "2026-01-25T20:00:00-07:00"
soc_metrics:
CPUPower: 0.15
GPUPower: 0.02
TotalPower: 8.5
SocTemp: 42.3
memory:
Total: 25769803776
Used: 14852408320
Available: 10917395456
cpu_usage: 5.2
gpu_usage: 1.8
thermal_state: Normal
system_info:
Name: Apple M4 Pro
CoreCount: 12
Response Example
Format metrics in a readable box:
โโ Apple M4 Pro โโโโโโโโโโโโโโโโโโโโโโโ
โ CPU: 5.2% | RAM: 13.8/24.0 GB โ
โ GPU: 1.8% | Power: 8.5W total โ
โ Thermal: Normal | SoC: 42.3ยฐC โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Troubleshooting
- "sysctl not found" โ Add
/usr/sbinto PATH - No output โ Verify mactop is installed:
which mactop