Skip to main content

An nvitop-like terminal monitor for MetaX GPUs.

Project description

metax-mxtop

GitHub stars PyPI version MIT License Python 3.9+ Linux MetaX GPU

metax-mxtop is an nvitop-like terminal monitor for MetaX GPUs. Install the PyPI package, then run the mxtop command.

mxtop terminal preview

16-GPU host? mxtop auto-switches to a 1-row-per-device compact layout so the table never overflows the screen.

mxtop 16-GPU compact layout

Features

  • nvitop-like terminal dashboard for MetaX GPUs.
  • Read-only monitoring through MXSML/Pymxsml or mx-smi.
  • GPU device panel with temperature, power, utilization, memory, bus id, persistence, performance state, and driver fields when available.
  • Host panel with load average, CPU, memory, swap, and aggregate GPU utilization.
  • Process table with GPU, PID, user, GPU memory, GPU utilization, CPU, host memory, runtime, command, selection, scrolling, and sorting.
  • ANSI-colored one-shot output and curses TUI colors aligned with the nvitop-style visual hierarchy.
  • Shared filters for TUI, text, and JSON output.

The monitor is intentionally read-only. It does not run firmware update, GPU reset, persistence-mode mutation, process kill, or other destructive/admin commands.

Install

From PyPI:

pip install -U metax-mxtop

The installed command is:

mxtop

From source:

git clone https://github.com/linkedlist771/metax-mxtop.git
cd metax-mxtop
pip install -e .

MetaX backend discovery

mxtop tries backends in this order when --backend auto is used:

  1. Pymxsml/MXSML, when importable and usable.
  2. mx-smi, when the CLI is available.

For the mx-smi backend, the executable path is resolved in this order:

  1. Explicit backend path when constructed by callers.
  2. MXTOP_MXSMI_PATH environment variable.
  3. /opt/mxdriver/bin/mx-smi.
  4. mx-smi from PATH.

Example:

MXTOP_MXSMI_PATH=/opt/mxdriver/bin/mx-smi mxtop --backend mxsmi

Usage

Interactive dashboard:

mxtop

One-shot colored text output:

mxtop --once

Plain text output:

mxtop --once --no-color

JSON output:

mxtop --json

Common filters:

mxtop --only 0 1
mxtop --user alice bob
mxtop --pid 1234 5678
mxtop --only-compute
mxtop --only-graphics

Backend and layout options:

mxtop --backend auto
mxtop --backend pymxsml
mxtop --backend mxsmi
mxtop --interval 1.0
mxtop --monitor auto
mxtop --monitor full
mxtop --monitor compact

Useful CLI flags:

Flag Meaning
--version Print the runtime version.
--backend {auto,pymxsml,mxsmi} Select telemetry backend.
--interval SECONDS TUI refresh interval, minimum 0.25.
--once, -1 Print one text snapshot and exit.
--json Print one JSON snapshot and exit.
--no-color Disable ANSI colors in text output.
--monitor {auto,full,compact} Select TUI layout mode.
--only INDEX... Show only selected GPU indices.
--user USER... Show only processes owned by selected users.
--pid PID... Show only selected process IDs.
--compute, --graphics Prefer matching process types when available.
--only-compute, --only-graphics Require matching process types when available.
--ascii, --no-unicode Reserve ASCII-only rendering mode.

Interactive keys

Key Action
q, Esc, Ctrl-C Quit.
h, ? Toggle help.
r Refresh immediately.
j, k, arrow up/down Move selected process.
PageUp, PageDown Scroll vertically.
Arrow left/right Scroll the command column horizontally.
,, . Cycle process sort field.
/ Reverse current sort.
a Auto layout.
f Full layout.
c Compact layout.
o then a sort key Direct process sort when supported.

Packaging and releases

The PyPI distribution name is metax-mxtop; the Python import package and CLI command are both mxtop.

pip install metax-mxtop
mxtop --version

Release automation is tag-driven:

  1. Bump pyproject.toml, src/mxtop/__init__.py, and tests/test_version.py to the new version.
  2. Commit the change.
  3. Create a new semver tag, for example v0.1.4.
  4. Push the commit and that tag.

GitHub Actions then builds the wheelhouse, creates or updates the GitHub Release, and publishes the package to PyPI through Trusted Publishing for v* tags.

Development

Run tests and lint locally:

uv run --with pytest --with psutil pytest -q
uv run --with ruff ruff check .
uv run --with build python -m build

More background is available in INTRO.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metax_mxtop-0.1.5.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metax_mxtop-0.1.5-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file metax_mxtop-0.1.5.tar.gz.

File metadata

  • Download URL: metax_mxtop-0.1.5.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metax_mxtop-0.1.5.tar.gz
Algorithm Hash digest
SHA256 37f55f3abb850add10f4706baf91ccd8efb70da0bfd3488c401c6b4bf973d678
MD5 a9d51cebf9ee19b70ce71ddfea6f4614
BLAKE2b-256 b08db619990bfac8793faf51693a11549a79863a38f153a0cb4f270dad8d78ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for metax_mxtop-0.1.5.tar.gz:

Publisher: wheels.yml on linkedlist771/metax-mxtop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metax_mxtop-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: metax_mxtop-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metax_mxtop-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 852706a860471f9024c00924cfec6e451e79ac02dd525ba3732fc71089f9bfa5
MD5 21590de5390531f79dee7fa457e2d2c3
BLAKE2b-256 ca1bfc526179c8baceef17609168d9080b2bc82010a648d4d10cf145390839fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for metax_mxtop-0.1.5-py3-none-any.whl:

Publisher: wheels.yml on linkedlist771/metax-mxtop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page