Skip to main content

Real-time GPU monitor for NVIDIA DGX Spark and other unified memory (UMA) systems

Project description

sparkstat

A real-time GPU monitor for NVIDIA DGX Spark and other unified memory architecture (UMA) systems.

Unlike gpustat or nvidia-smi, which report "Memory-Usage: Not Supported" on iGPU/UMA systems, sparkstat combines nvidia-smi metrics with /proc/meminfo to provide an accurate view of system memory available to GPU workloads.

Key Features

  • DRAM Monitoring: Color-coded usage bars (green/yellow/red) based on severity.
  • Effective Available Memory: Calculates real GPU-allocatable memory (DRAM available + swap free).
  • GPU Metrics: Utilization, temperature (color-coded), power, clock speed, and P-State.
  • Alloc Metric: Reports GPU-allocated memory as a percentage of total DRAM, replacing the typically zeroed utilization.memory metric on iGPUs.
  • Process Breakdown: Per-process GPU memory allocation.
  • Flexible Output: Full-screen in-place refresh on TTY, sequential output when piped.
  • Zero Dependencies: Pure Python, using only the standard library.

Requirements

  • Linux
  • Python 3.9+
  • NVIDIA driver (nvidia-smi)

Installation

Install via pip:

pip install sparkstat

Install via pipx:

pipx install sparkstat

Install via uv:

uv tool install sparkstat

Quick install script:

curl -fsSL https://raw.githubusercontent.com/kooyunmo/sparkstat/main/install.sh | sh

Usage

sparkstat           # Single snapshot
sparkstat -i        # Watch mode, default 3s interval
sparkstat -i 1      # Watch mode, 1s interval
sparkstat -i 0      # Single snapshot (same as no -i)
sparkstat --no-proc # Hide process list
sparkstat --no-header # Suppress timestamp header
sparkstat --no-color  # Disable color
sparkstat --force-color # Force color when piped
sparkstat -v        # Show version

Example Output

spark-838f      Fri Apr 10 01:05:26 2026  NVIDIA GB10
═════════════════════════════════════════════════════════
 DGX Spark  ·  121.7GiB Unified Memory (UMA)
───────────────────────────────────────────────────────
 DRAM  [█████░░░░░]  53.8%  65.5GiB / 121.7GiB
 Avail 69.3GiB  (DRAM: 56.2GiB + Swap free: 13.1GiB)
 Swap  [█░░░░░░░░░]  18.1%  2.9GiB / 16.0GiB
───────────────────────────────────────────────────────
 GPU   NVIDIA GB10
 Util  GPU    2%  │  Alloc  51%  │  Temp   46°C
 Pwr     13.2W  │  Clk   2411MHz  │  P-State P0
───────────────────────────────────────────────────────
 Processes  (1 active, 62.2GiB GPU alloc)
     62928  VLLM::EngineCore                62.2GiB
═════════════════════════════════════════════════════════

Color Scheme

  • Bars: Green <50%, Yellow 50-80%, Red >80%
  • Temperature: Cyan <50°C, Yellow 50-70°C, Red >70°C
  • GPU Utilization: Dim <10%, Green 10-50%, Yellow 50-80%, Red >80%
  • Labels: Bold white
  • GPU Name: Bold green
  • Process Names & Clock: Cyan
  • Power: Yellow
  • Borders: Dim gray

Colors are automatically disabled when output is piped. Use --force-color to override this behavior.

License

MIT

Repository

https://github.com/kooyunmo/sparkstat

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

sparkstat-0.1.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

sparkstat-0.1.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file sparkstat-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for sparkstat-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e755e77de869932d6a7c27b5f24f3bea14be39fabee2e31707e8425bbe4ed738
MD5 b4e74923ce707a195bbed38989a7b5a8
BLAKE2b-256 4dc3c747e8038be5e46b38d6aebd1dbd05ad56afc268d6046252303bf685845e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sparkstat-0.1.0.tar.gz:

Publisher: publish.yml on kooyunmo/sparkstat

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

File details

Details for the file sparkstat-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for sparkstat-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52a3d3390ecb33456ada94ccc9d27238cf8ef54d7f3db9e814ff32cc6d4dae5e
MD5 21c367d4b675424b63e7e1fd459a162f
BLAKE2b-256 f425689e2c472ae8eb8324486da06e7ce374dd94c46f5d199d6e7062c5221f57

See more details on using hashes here.

Provenance

The following attestation bundles were made for sparkstat-0.1.0-py3-none-any.whl:

Publisher: publish.yml on kooyunmo/sparkstat

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