DEV.co
Open-Source Observability · wookayin

gpustat

gpustat is a lightweight command-line tool that displays GPU status and resource usage for NVIDIA GPUs in a human-readable format, similar to nvidia-smi but simpler. It supports colored output, process monitoring, and JSON export, and can be used both as a CLI utility and as a Python library.

Source: GitHub — github.com/wookayin/gpustat
4.4k
GitHub stars
286
Forks
Python
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorywookayin/gpustat
Ownerwookayin
Primary languagePython
LicenseMIT — OSI-approved
Stars4.4k
Forks286
Open issues29
Latest releasev1.1.1 (2023-08-22)
Last updated2026-05-30
Sourcehttps://github.com/wookayin/gpustat

What gpustat is

Python-based CLI utility that queries NVIDIA GPU metrics via the official nvidia-ml-py binding (NVML). Provides real-time GPU utilization, memory usage, temperature, and process-level monitoring with configurable output formats (colored text, JSON, watch mode). Requires NVIDIA Driver >=450.00 and Python >=3.6.

Quickstart

Get the gpustat source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/wookayin/gpustat.gitcd gpustat# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

GPU resource monitoring in shared clusters

Quick visibility into which users and processes occupy GPU memory/compute on multi-user systems, reducing need to parse verbose nvidia-smi output.

Automated GPU health dashboards

JSON output and Python API enable integration into monitoring stacks (Prometheus, Grafana, custom scripts) for production GPU infrastructure.

Developer workflows on GPU machines

Watch mode (--watch) and compact output format reduce terminal clutter during iterative training/inference development.

Implementation considerations

  • Ensure nvidia-ml-py (>=12.535.108 for gpustat 1.2+) is installed from official PyPI, not the misleadingly named 'pynvml' package.
  • Set CUDA_DEVICE_ORDER=PCI_BUS_ID environment variable if GPU index must match CUDA device numbering in production workloads.
  • For fast repeated queries in high-frequency monitoring, run nvidia-smi daemon (requires root) to reduce CPU overhead per query.
  • Python 3.6+ required; no Python 2.7 support in current versions (1.1+).
  • Output format (color, verbosity, JSON) configurable per-invocation; integrate via shell scripts or Python API for custom workflows.

When to avoid it — and what to weigh

  • AMD GPU environments — Tool is NVIDIA-only; contributors are welcome but no AMD support currently implemented.
  • Systems with very old NVIDIA drivers — Requires Driver >=450.00; older GPUs may be unsupported unless using legacy gpustat versions.
  • Need for enterprise-grade alerting — gpustat is a query tool; complex alerting rules, thresholds, and incident management require external orchestration.
  • Heterogeneous GPU fleets — Designed for homogeneous NVIDIA setups; no built-in multi-vendor or multi-architecture abstraction.

License & commercial use

MIT License. Permissive OSI-approved license; allows use in proprietary and commercial software with attribution.

MIT permits commercial use, modification, and distribution. Attribution required; no warranty provided. Suitable for proprietary internal tools and closed-source commercial products without restriction.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

No sensitive data exposure from GPU queries themselves. Tool requires read access to NVIDIA driver and process list; running with elevated privileges (nvidia-smi daemon) may expand attack surface. Input validation (GPU IDs, watch intervals) not detailed in README. User/process name display can leak information in multi-tenant environments; mitigate with --no-processes flag.

Alternatives to consider

nvidia-smi

Official NVIDIA CLI. More verbose and feature-rich; gpustat is a simpler, friendlier front-end for common queries.

py-nvml / nvidia-ml-py

Lower-level Python bindings. Requires more boilerplate code; gpustat provides pre-built queries and formatted output.

Prometheus nvidia-gpu-prometheus-exporter

Enterprise monitoring exporter. Heavier weight; gpustat is lighter for ad-hoc queries and simple dashboards.

Software development agency

Build on gpustat with DEV.co software developers

Install gpustat via pip and integrate GPU health checks into your ML ops, cluster management, or development workflow. MIT licensed for commercial use.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

gpustat FAQ

Can I use this on AMD GPUs?
No, gpustat is NVIDIA-only. AMD support is not implemented; contributions welcome per README.
Does gpustat require root?
No for standard queries. Running nvidia-smi daemon (recommended for high-frequency monitoring) requires root but is optional.
How do I integrate gpustat into my monitoring stack?
Use --json flag for machine-readable output, or call the Python API (gpustat.new_query()) in your agent/script. No built-in Prometheus exporter; integration requires custom wrapper.
What Python versions does gpustat 1.1 support?
Python >= 3.6. Older versions (gpustat < 1.0) support Python 2.7 and 3.4+; check version compatibility docs.

Software development & web development with DEV.co

From first prototype to production, DEV.co delivers software development services around tools like gpustat. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source observability and beyond.

Ready to simplify GPU monitoring?

Install gpustat via pip and integrate GPU health checks into your ML ops, cluster management, or development workflow. MIT licensed for commercial use.