maximpri / mlxtop
git clone https://github.com/maximpri/mlxtop.git
v3.1.1 · 2d ago
A top for local LLMs: memory, paging, GPU and tokens/s for oMLX, Ollama, llama.cpp, vLLM and more
+6
stars, 24h · #2,208
+~42
stars, 7 days · #2,788
+~180
stars, 30 days · #2,823
125
★ total · +42% this week
13
forks · 2 open issues
Star history (as recorded here)
LanguageRust
LicenseMIT
Created2026-09-11 (1mo ago)
Last push1d ago
Watchers0
OwnerUser
GitHub topics
Links
- GitHub: github.com/maximpri/mlxtop
- Releases · Issues · Hacker News mentions
README excerpt
# mlxtop **`top` for local LLMs.** See whether memory, paging or the GPU is what's slowing your model down. Install · Quick start · Runtimes · User guide · Changelog When a local model slows down, the cause is usually the machine: memory pressure, swapping, a full GPU or a throttled card. mlxtop shows those readings next to your runtime's own numbers, such as tokens per second, prefill progress, queued requests and cache reuse, so you can see which one changed when the model slowed. - **Memory first:** what RAM holds (wired, app, compressed, cache), OS pressure, compression and paging, each judged against its warning rate. - **Live inference:** generation and prefill speed, prompt sizes, cached tokens, queues and prefill progress from the runtime itself, never estimated from CPU or GPU use. - **A plain verdict:** a single line reads `✓ Healthy`, or names the problem, such as heavy paging, a model partly on the CPU, a full card or heat throttling. - **13 runtimes:** oMLX, Splash, mlx-serve, vLLM, SGLang, llama.cpp, Ollama, LM Studio, KoboldCpp and more, detected automatically. - **Local and read-only:** no sudo, no account, no analytics. It never sends prompts or touches your models or runtime settings. **What's new in 3.1.1:** a Settings tab that edits the config in place and applies it without a restart, `Esc` asks before quitting, one switch to turn off alarms, double-click to enlarge a chart, and mlx-serve prefill progress. 3.1 brought a redesigned Overview, `mlxtop update` and oMLX through Splash. Release notes → ## Install **Homebrew** (macOS and Linux): [code] **Install script** (macOS on Apple Silicon, Linux x86_64 and ARM64), installs to `~/.local/bin` without sudo: [code] **Windows** (x86_64, PowerShell, no administrator rights needed): [code] Both scripts verify the download's SHA-256 checksum. Linux builds are static binaries with no runtime dependencies. You can also download a macOS installer (`.dmg`, unsigned) or an archive from the latest release. To update, run `mlxtop update` (`--rc` for release candidates), or `brew upgrade mlxtop` if you installed with Homebrew. Build from source You'll need Rust 1.88 or newer: [code] ## Quick start [code] Memory and GPU readings appear straight away, even with no model loaded. Start your runtime, send it a prompt, and watch Overview while it answers. | View | What it shows | | --- | --- | | **1 · Overview** | The verdict, memory, compression, paging, prompt load, generation, prefill, GPU, cache, queue and recent events | | **2 · Processes** | Model processes and the CPU, memory and page-ins each one uses | | **3 · Journal** | Requests and resource changes during the session | | **4 · Settings** | Every config option, edited in place and applied without a restart | | Key | Action | | --- | --- | | `1`–`4` / `Tab` | Switch view | | Arrows / click, `Enter` / double-click | Select a chart, enlarge or restore it | | `+` `-` / wheel | Zoom chart history | | `p` / `Space` | Pause s