Skip to main content

🍎 apple-smi

nvidia-smi equivalent for Apple Silicon – High-performance, sudoless GPU monitoring with zero dependencies.

$ apple-smi
Wed Mar 04 14:52:00 2026
+-----------------------------------------------------------------------------------------+
| APPLE-SMI 0.1.4              macOS Version: 26.3 (25D125)              Metal Version: 3 |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                               |                 Disp.A |                      |
|      Temp                 Pwr:Usage/Cap |           Memory-Usage |             GPU-Util |
|=========================================+========================+======================|
|   0  Apple M1 (8-Core GPU)              |                     On |                      |
|       30C                    2.4W / 20W |    13826MiB / 16384MiB |                  12% |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
| GPU           PID  Type   Process name                                       GPU Memory |
|                                                                                   Usage |
|=========================================================================================|
|   0         72743    C    python3.11                                             530MiB |
|   0          1007    G    NotificationCenter                                     170MiB |
|   0          3197    G    WeType                                                 216MiB |
+-----------------------------------------------------------------------------------------+

✨ Features

  • 🚫 No sudo required – Uses private macOS APIs (IOReport, IOHIDSensors, SMC) for sudoless operation.
  • ⚡ Ultra-Fast & Lightweight – Optimized startup (<50ms) using targeted sysctl and ioreg calls.
  • 🔋 Power Monitoring – Displays SoC power consumption (Usage) against chip TDP (Cap).
  • 🌡️ Smart Thermals – High-accuracy GPU/SOC temperature readings with sensor fallback logic.
  • 📋 Robust Process Listing – Lists active GPU processes with full name resolution (no truncation for paths with spaces).
  • 🔍 C/G Classification – Categorizes processes by Type (C for Compute, G for Graphics).
  • 💾 Memory Usage – Detailed breakdown of unified memory utilization.
  • 🔄 Watch Compatible – Default 100ms sampling interval for smooth real-time monitoring.
  • 📦 Zero Dependencies – Pure Python, utilizing ctypes to interface with macOS frameworks.

📥 Installation

pip install apple-smi

🚀 Usage

Command Line Options

# Basic usage
apple-smi

# Set sampling interval (default: 100ms)
apple-smi --interval 250

# JSON output for integration with other tools
apple-smi --json

# Continuous monitoring (highly recommended)
watch -n 0.1 apple-smi

Process Filtering

By default, apple-smi only shows Compute (C) processes (e.g., Python, MLX, Torch, llama.cpp) to reduce system noise. You can show all GPU-connected processes (including window compositors and browsers) using an environment variable:

APPLE_SMI_SHOW_ALL_PROCESSES=1 apple-smi

Backends

apple-smi automatically selects the best available backend:

  1. IOKit (Default): Uses undocumented IOKit APIs for sudoless monitoring.
  2. Powermetrics (Fallback): Uses the system powermetrics tool (requires sudo or root privileges).
Variable Values Description
APPLE_SMI_BACKEND iokit, powermetrics Force a specific backend. Default: auto-detect.
APPLE_SMI_SHOW_ALL_PROCESSES 0, 1 Show all GPU processes (G+C). Default: 0.

🔧 Requirements

  • macOS on Apple Silicon (M1, M2, M3, M4, M5)
  • Python 3.10+

📝 License

MIT License – see LICENSE for details.

Metadata

Release files for apple-smi 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apple-smi 0.1.4
File Size Uploaded
apple_smi-0.1.4.tar.gz 26.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apple-smi 0.1.4
File Interpreter ABI Platform
apple_smi-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 53.2 kB

Release files / apple_smi-0.1.4.tar.gz

Download URL apple_smi-0.1.4.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e6a787cd5e705241fc4fa8847ad6198c41e559ceac51a5b6c8bc9dacf55583ee
BLAKE2b-256 checksum
How to use checksums
ff618a882e8e0519d8eb3fb540204f7d88929465c28c2a5e2aac30868a674fa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / apple_smi-0.1.4-py3-none-any.whl

Download URL apple_smi-0.1.4-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4e854523435e38fa622ce59c6395a2a158d43842a83211aec1044e86cb3b3e38
BLAKE2b-256 checksum
How to use checksums
39d169df3d8895d75204c77cff2f80b70918175b68aa93451de6083176452f46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page