Skip to content

Releases: maximpri/mlxtop

mlxtop v3.0.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 15:48
bff0179

mlxtop now covers local LLMs beyond Apple Silicon: NVIDIA GPUs and Windows,
plus the mlx-serve and Splash runtimes.

  • Windows (x86_64) support: memory, commit charge, processes and runtime
    detection through the Windows APIs, NVIDIA GPUs through nvidia-smi, logs in
    %LOCALAPPDATA%\mlxtop, a PowerShell installer (scripts/install.ps1) and a
    release zip. Windows exposes no paging counters through those APIs, so paging
    rates show as unavailable rather than zero.
  • NVIDIA findings: the assessment names a model partly or fully on CPU
    (Ollama placement), a card with full VRAM (97%, held until below 94%), and
    thermal, power-brake or hardware clock slowdowns on a busy card. The GPU
    panel's STATE column shows the clock-limit reason, and full VRAM turns the
    card's memory reading yellow.
  • Add Splash (MLXTOP_PROVIDER=splash, default port 8000), detected by its
    Metal engine process. It polls /status for the model, each running request's
    prompt and output counts with prefill progress, waiting requests, a generation
    rate from the engine's decode counter, the prefill speed of its prefill
    commands, prefix-cache reuse, Metal memory against its limit, DFlash draft
    acceptance, server TTFT p50, and released weights, thermal state and memory
    pressure. An API key goes in MLXTOP_PROVIDER_API_KEY.
  • Add mlx-serve (MLXTOP_PROVIDER=mlx-serve, default port 11234) with process
    detection. It polls /metrics for queues, a live generation rate that counts
    tokens of requests still running, a prefill rate that follows the prompt being
    processed now, interval and cumulative cache reuse, and MLX active memory. It reads
    /metrics.json for the model and the running requests' prompt, cached and
    output counts; sessions that only hold a prefix cache are not listed. The
    server needs --metrics, and an API key goes in MLXTOP_PROVIDER_API_KEY.

mlxtop v2.1.1

Choose a tag to compare

@maximpri maximpri released this 09 Oct 15:51
32ae1f0

mlxtop 2.1.1

Stable release for Apple Silicon macOS and Linux. Overview now leads with the host resources that decide whether a local model keeps its speed, and every chart is colored by its thresholds.

What's new

  • Host resources first: memory pressure with RAM composition (wired, app, compressed, cache, free) and the GPU wired limit, a new macOS compression chart (compress + decompress traffic, stored vs compressor bytes and ratio) and paging lead Overview. Prompt load follows; generation, prefill and GPU become a compact row. All rows share one aligned three-column grid, and tall terminals give extra height to the host resources.
  • A clear verdict: the assessment reads Healthy · no bottleneck when nothing needs action and names the next check when something does. Critical alarms replace the assessment without hiding SYSINFO.
  • Threshold colors everywhere: GPU, paging, compression, memory and cache use their configured bands; generation and prefill are graded against their rolling baseline (yellow at −10%, red at −30%). Charts, assessment and Journal agree.
  • d Diagnostics and mlxtop doctor explain the assessment, the selected runtime and endpoint, authentication status and setup steps.
  • Easier reading: prompt timestamps in local time like Journal, each reading shown once, labeled cache readings (CACHED, interval, SERVER TOTAL), full view names and units at 80 columns, and consistent empty states.

Install or upgrade

curl -fsSL https://raw.githubusercontent.com/maximpri/mlxtop/main/scripts/install.sh | sh

Restart existing mlxtop sessions after upgrading. Existing configuration, oMLX settings and usage JSONL files remain compatible. Set MLXTOP_VERSION=2.1.1 to pin this release.

GPU utilization of 90% or more is shown in red (saturated) but never rings the alarm; the assessment reports the GPU only with a measured slowdown. The compression chart is macOS-only; Linux shows memory and paging.

Downloads

  • Apple Silicon macOS: native DMG installer or tar.gz archive. Requires macOS 11 or later; tested locally on macOS 27.0.1. The installer is unsigned and not notarized.
  • Linux x86_64 and ARM64: static musl tar.gz archives without runtime library dependencies.
  • SHA256SUMS covers all four downloads. Packages include documentation, the usage recorder and dependency license texts.

Validation

  • macOS: 291 Rust tests and 13 Python tests passed; production line coverage 95.6% against a 90% minimum.
  • Linux: 289 Rust tests passed on each architecture in Docker. ARM64 ran natively; x86_64 ran under emulation with two test threads, because two local-HTTP-server tests time out under full emulated parallelism. GitHub CI also passed tests and coverage natively on macOS and Ubuntu.
  • Formatting, Clippy, ShellCheck, dependency license checks, release builds and static-report smoke tests passed.
  • Overview was checked in real terminal frames from 80×24 to 250×80, including idle, empty, alarm and critical states, and against a live oMLX server on an Apple Silicon Mac Studio through release candidates rc.2–rc.5. NVIDIA per-card telemetry uses fixtures; physical NVIDIA hardware was not available.
  • Optimized binaries, archive contents, the DMG installer payload and SHA-256 checksums were verified.

README · User guide · Changelog

mlxtop v2.0.0

Choose a tag to compare

@maximpri maximpri released this 02 Oct 23:57
217ccc5

mlxtop 2.0.0

Stable major release for Apple Silicon macOS and Linux. This release expands runtime monitoring and makes the dashboard easier to interpret during real workloads.

What's new

  • Eleven runtimes: oMLX, Ollama, LM Studio/llmster, llama.cpp, KoboldCpp, MLX-LM, LocalAI, vLLM, SGLang, Jan and GPT4All. Available detail depends on each engine's API: live serving metrics, loaded-model information or model catalogues plus client-reported usage.
  • vLLM/SGLang Prometheus metrics, native Ollama/LM Studio inventories, authenticated HTTP/HTTPS endpoints, verified certificates and explicit opt-in for sending credentials to remote servers.
  • Synchronized rolling chart windows and zoom, clear window 34s labels, corrected queue crossings and more space for throughput and prompt history.
  • Cyan resident-memory history with separate pressure severity. Process-memory readings remain available in Top and text reports.
  • Native completion speeds, cached tokens and explicit first-token timings in the counters-only usage recorder. Completed reports are never presented as live generation rates.
  • Production line-coverage gates on macOS and Linux, updated documentation and a refreshed Overview screenshot.

Install or upgrade

curl -fsSL https://raw.githubusercontent.com/maximpri/mlxtop/main/scripts/install.sh | sh

Restart existing mlxtop sessions after upgrading. Existing configuration, oMLX settings and usage JSONL files remain compatible. The terminal installer selects the latest stable release and verifies its checksum; set MLXTOP_VERSION=2.0.0 to pin this release.

The dashboard monitors one selected endpoint per session. Engines without live performance APIs need client integration for completed-request statistics. Remote API monitoring does not collect the remote machine's OS counters; run mlxtop over SSH for those.

Downloads

  • Apple Silicon macOS: native DMG installer or tar.gz archive. Requires macOS 11 or later; tested locally on macOS 27.0.1. The installer is unsigned and not notarized.
  • Linux x86_64 and ARM64: static musl tar.gz archives without runtime library dependencies.
  • SHA256SUMS covers all four downloads. Packages include documentation, the usage recorder and dependency license texts.

Validation

  • macOS: 267 Rust tests passed; 13 Python tests passed.
  • Linux: 265 Rust tests passed on each architecture. ARM64 ran natively in Docker; x86_64 ran under emulation on Apple Silicon.
  • Formatting, Clippy, ShellCheck, dependency license checks, release builds and static-report smoke tests passed.
  • GitHub CI checks production coverage on macOS and Linux against a 90% minimum.
  • API fixtures cover provider schemas, authentication, counter resets, missing/stale values and usage-recorder timing. oMLX was also verified against a running Apple Silicon server. Other engines and NVIDIA telemetry use fixtures; physical NVIDIA hardware was not available.
  • The public latest-release installer was verified end-to-end on macOS, Linux ARM64 and Linux x86_64, including downloaded checksums and installed license notices.
  • One interactive preview test is intentionally ignored in automated suites. Optimized binaries, archive contents, the DMG installer payload and SHA-256 checksums were verified.

README · User guide · Changelog

mlxtop v1.2.0

Choose a tag to compare

@maximpri maximpri released this 30 Sep 14:46
a9bf90f

mlxtop 1.2.0

Stable release of the Linux NVIDIA multi-GPU dashboard and interactive chart controls.

  • See each NVIDIA card's utilization, VRAM and temperature in Overview. Select cards with [ / ]; missing measurements remain unavailable.
  • Select charts with Tab, arrows or a click, zoom history with + / - or the mouse wheel, and enlarge or restore a chart with Enter / Esc. Change the sampling interval with { / }.
  • Prompt load shows exact input-token counts, including cached tokens, with request freshness, recent median and range.
  • Diagnostics show measured slowdowns and their evidence. High GPU utilization alone does not trigger an alarm.
  • Critical memory pressure and severe paging ring the terminal bell once per episode. Press a to acknowledge.
  • Linux temperatures are displayed without inferring thermal throttling from a fixed threshold.

There are no functional changes from 1.2.0-rc.2.

Install

curl -fsSL https://raw.githubusercontent.com/maximpri/mlxtop/main/scripts/install.sh | sh

The terminal installer selects the latest stable release and checks its SHA-256 checksum. Set MLXTOP_VERSION=1.2.0 to pin this release.

Downloads

  • Apple Silicon macOS: DMG with native installer, or a tar.gz archive. Requires macOS 11 or later; tested on macOS 27.0. The installer is unsigned and not notarized.
  • Linux: static musl archives for x86_64 and aarch64, with no runtime library dependencies.
  • SHA256SUMS covers all four downloads. Each package includes documentation and dependency license texts.

Validation

All 147 Rust tests passed on macOS, and all 145 Rust tests passed on each Linux architecture. Formatting, Clippy, four Python helper tests, shell checks and dependency license checks passed. Optimized binaries reported mlxtop 1.2.0 and completed static-report smoke checks. Archive contents, the DMG package version and binary, and download checksums were verified.

Linux builds and tests ran in Docker; x86_64 ran under emulation on Apple Silicon. NVIDIA behavior is covered by fixtures; physical NVIDIA hardware was not available.

Changelog · User guide

mlxtop v1.1.2

Choose a tag to compare

@maximpri maximpri released this 29 Sep 18:52

mlxtop now ships static Linux binaries for x86_64 and aarch64, and the terminal installer supports Linux as well as Apple Silicon Macs. The installer now installs the latest release automatically; set MLXTOP_VERSION to pin one.

oMLX distributed requests now stay separate in prompt history, using rank zero's request IDs instead of the shared rank0 placeholder. oMLX queue, rate and output readings cover every loaded model and concurrent request. LM Studio's Bionic app is detected, and prompt history uses the full panel with one bar per request and UTC timestamps.

Changes are limited to mlxtop; serving runtimes are unchanged.

Install

curl -fsSL https://raw.githubusercontent.com/maximpri/mlxtop/main/scripts/install.sh | sh

Or download below: the Apple Silicon DMG (macOS 11 or later; tested on macOS 27.0; unsigned and not notarized), or the static Linux archive for your architecture. SHA256SUMS covers every download.

Validation

133 tests passed on macOS and 132 on Linux (x86_64 and aarch64), along with formatting, Clippy, shell checks and dependency license checks. Package contents, versions and checksums were verified. The installer was tested on macOS 27.0 and on Alpine, Debian and Ubuntu containers.

Changelog · User guide

mlxtop v1.1.1

Choose a tag to compare

@maximpri maximpri released this 15 Sep 04:57

Fixes operator charts so process memory transitions stay connected and active/waiting requests share a labeled zero baseline. White ═ marks overlapping queue traces. Missing telemetry now has an explicit empty state, and prompt load uses clearer compact insights and fractional bar heights.

Documentation and installer defaults are updated to v1.1.1. Changes are limited to mlxtop; serving runtimes are unchanged.

Install

Download the Apple Silicon DMG below, or use the terminal installer. Requires macOS 11 or later; tested on macOS 26.5.1. The package is unsigned and not notarized. SHA256SUMS is included.

Validation

96 tests passed, along with formatting, Clippy, shell checks and dependency license checks. Release package contents, executable version and checksums were verified.

Changelog · User guide

mlxtop v1.1.0

Choose a tag to compare

@maximpri maximpri released this 15 Sep 04:22

mlxtop v1.1.0 makes request load, queue buildup and process memory visible alongside local LLM serving performance.

What's new

  • A denser Overview: prompt load sits beside generation and prefill on wide terminals, with process memory, queue and system charts below.
  • Per-request prompt load: bounded history, exact selected counts, freshness, growth comparisons and cached/uncached segments when reported.
  • Queue history: active and waiting requests, preserving gaps for unavailable or stale telemetry.
  • OS process memory on macOS: physical footprint, lifetime peak and signed growth, identified by PID. No changes or restarts to the serving runtime.
  • Optional first-token latency: shown only when an explicit client timing is supplied through the usage file.
  • Broader telemetry: oMLX, llama.cpp and KoboldCpp adapters, plus a counters-only usage file for client-reported responses from MLX-LM, Ollama, LM Studio and LocalAI.
  • Linux source support: /proc, /sys and optional nvidia-smi metrics. The downloadable DMG is for Apple Silicon macOS.

Install on Apple Silicon

Download mlxtop-1.1.0-aarch64-apple-darwin.dmg, open it, and run Install mlxtop.pkg. Then run mlxtop in Terminal.

The native installer requires an administrator account and installs the command in /usr/local/bin. Documentation and license notices are installed in /usr/local/share/mlxtop/1.1.0.

For installation in your home directory without sudo:

curl -fsSL https://raw.githubusercontent.com/maximpri/mlxtop/v1.1.0/scripts/install.sh | sh
~/.local/bin/mlxtop --version

The script verifies the DMG checksum and installs the command in ~/.local/bin. To verify a manually downloaded DMG, place SHA256SUMS beside it and run:

shasum -a 256 -c SHA256SUMS

Compatibility and validation

The binary targets macOS 11 or later on Apple Silicon and was tested on macOS 26.5.1. It has an ad-hoc signature; the installer is unsigned and the release is not Apple notarized. Linux requires a source build; this DMG does not run on Linux or Intel Macs.

Validation: 93 tests, formatting, Clippy, release build, ShellCheck, dependency license checks, static/interactive dashboard checks on Apple Silicon, DMG integrity and package-content verification, uploaded-asset hash verification, and an end-to-end test of the published no-sudo installer. The payload includes documentation, build provenance, dependency notices and Rust standard-library notices.

Provider polling can miss requests that finish between samples. Request cache and first-token timing are shown only when explicitly reported; OS process footprint is not an MLX allocator counter. Historical and unavailable values retain their provenance.

Changelog · User guide · Report an issue

mlxtop v1.0.0

Choose a tag to compare

@maximpri maximpri released this 11 Sep 04:53

A top for your local LLM on Mac.

See which models are running, how much memory they use, and how busy your Mac’s GPU is. With oMLX, you can also follow generation speed and request activity as your model responds.

Install on Apple Silicon

  1. Download mlxtop-1.0.0-aarch64-apple-darwin.dmg below and open it.
  2. Double-click Install mlxtop.pkg and follow the macOS Installer steps. This requires an administrator account.
  3. Open Terminal and run mlxtop.

The package installs the command in /usr/local/bin and documentation and license notices in /usr/local/share/mlxtop/1.0.0. If the command isn’t found, run /usr/local/bin/mlxtop. You can eject the disk image after installation.

The installer is unsigned and not Apple notarized.

Install from Terminal without sudo

curl -fsSL https://raw.githubusercontent.com/maximpri/mlxtop/main/scripts/install.sh | sh

Then run ~/.local/bin/mlxtop. The script downloads the same DMG, verifies its SHA-256 checksum, and extracts the command into ~/.local/bin. License notices are kept in ~/.local/share/mlxtop/1.0.0 (or under XDG_DATA_HOME when set).

The DMG replaces the original tarball. Use the command above; the installer in the historical v1.0.0 source tag refers to the old archive.

To check a manually downloaded DMG, download SHA256SUMS into the same directory and run:

shasum -a 256 -c SHA256SUMS

In this release

  • Overview with model status, available response speed, memory, paging, and GPU activity.
  • MLX Top for inspecting model processes and their resource use.
  • A session journal for request activity, resource pressure, and recovery events.
  • Detailed oMLX integration, including prompt and generation speed, request queues, and cache activity when available.
  • mlxtop --once for a text report in a terminal or over SSH.

Press 1, 2, or 3 to switch views, ? for help, and q to quit.

Compatibility and limitations

The binary is for macOS on Apple Silicon (arm64). It targets macOS 11 or later and was tested on macOS 26.5.1. The binary has an ad-hoc signature. The installer package is unsigned and neither the package nor the DMG is Apple notarized. Intel Macs, Linux, and Windows are not supported by this binary.

Detailed live serving metrics currently require oMLX. MLX-LM, Ollama, llama.cpp, LM Studio, KoboldCpp, and LocalAI have process-level detection. Missing readings stay unavailable, and older log readings are labeled with their age. The Journal covers the current session.

The DMG contains a native macOS installer, which includes the binary, documentation, MIT license, dependency notices, Rust standard-library notices, and build information. GitHub also provides source archives below. Building from source requires Rust 1.88 or newer.

Validation: 60 tests, formatting, Clippy, release build, ShellCheck, DMG integrity and mounting, native Installer configuration, package contents, installer success and checksum-failure checks, and a smoke test of the installed binary. The binary is unchanged from the original v1.0.0 release.

User guide · Report an issue