A macOS/Linux terminal UI for listing, inspecting, copying, pushing, and deleting locally installed Ollama models.
shanselman/gputaskman
A terminal UI for Windows and NVIDIA that shows per-process GPU memory, engine activity, and the LLM weights and KV-cache inside each GPU workload.
- Stars
- 435
- Forks
- 20
- Open issues
- 1
- Last commit
- 14 hours ago
What is it?
gputaskman is an htop-style monitor for NVIDIA GPUs on Windows. Task Manager shows how much GPU memory is in use but not what is using it. This tool combines Windows GPU counters with NVML device readings to break usage down by process, showing local GPU memory, GPU-accessible system RAM, engine activity, and detected runtimes such as CUDA, Vulkan, Direct3D, ggml and ONNX Runtime.
For local AI workloads, it identifies candidate models from mapped files, command-line arguments, and GGUF headers, then estimates weight and KV-cache sizes. Where llama.cpp buffer logs or local Ollama and LM Studio APIs are available, it adds allocated buffer sizes and live model state. Identification is labeled by evidence strength, and the project notes that a loaded DLL or mapped file does not by itself prove GPU placement.
The interface is a live terminal dashboard with device charts and a sortable process table, plus one-shot text and JSON output for scripting. Portable builds for x64 and ARM64 are published on the releases page, and the project can also run from source with uv or pip.
Key features
- 01Shows per-process local GPU memory, system-RAM usage and engine activity.
- 02Identifies loaded models from mapped files, launch arguments and GGUF headers.
- 03Estimates llama.cpp weight and KV-cache sizes, using buffer logs when available.
- 04Reads model state from local Ollama and LM Studio APIs when they are running.
- 05Offers a live TUI as well as one-shot text and JSON output.
Use cases
- Finding out why a local LLM or other AI workload is using most of the GPU memory on a Windows machine.
- Spotting GPU-accessible system RAM use that may mean slower fallback inference.
- Checking which local model and context size a llama-server or Ollama process is holding.
- Capturing GPU usage snapshots in JSON for scripts or bug reports.
Quick start
- 1
Install Git for Windows and uv (e.g. with WinGet)
winget install --id Git.Git --exact - 2
Install uv
winget install --id astral-sh.uv --exact - 3
Clone the repository
git clone https://github.com/shanselman/gputaskman.git - 4
Run the TUI from the project folder with uv
cd gputaskman uv run --locked gputaskman
Things to know
- Windows and NVIDIA only; CPU-only, NPU-only and cloud workloads are out of scope.
- Requires an NVIDIA GPU with a current Windows WDDM driver.
- Early, experimental software; classifications and GGUF-based breakdowns are estimates.
- Multi-GPU attribution is not yet reliable; single-NVIDIA-GPU is the validated configuration.
In collections
Topics
FAQ
- What is gputaskman?
- A terminal UI for Windows and NVIDIA that shows per-process GPU memory, engine activity, and the LLM weights and KV-cache inside each GPU workload. gputaskman is an htop-style monitor for NVIDIA GPUs on Windows. Task Manager shows how much GPU memory is in use but not what is using it. This tool combines Windows GPU counters with NVML device readings to break usage down by process, showing local GPU memory, GPU-accessible system RAM, engine activity, and detected runtimes such as CUDA, Vulkan, Direct3D, ggml and ONNX Runtime.
- Is gputaskman free to use? What license does it have?
- gputaskman is open source under the MIT license. Check the license terms before using it in commercial products.
- Is gputaskman still maintained?
- Actively maintained. The last commit to gputaskman was on Nov 7, 2026.
- What can I use gputaskman for?
- Finding out why a local LLM or other AI workload is using most of the GPU memory on a Windows machine. Spotting GPU-accessible system RAM use that may mean slower fallback inference. Checking which local model and context size a llama-server or Ollama process is holding. Capturing GPU usage snapshots in JSON for scripts or bug reports.
- How do I install gputaskman?
- Install Git for Windows and uv (e.g. with WinGet): winget install --id Git.Git --exact Install uv: winget install --id astral-sh.uv --exact Clone the repository: git clone https://github.com/shanselman/gputaskman.git Run the TUI from the project folder with uv: cd gputaskman uv run --locked gputaskman
- Where can I get gputaskman?
- The source code and installation instructions are on GitHub: https://github.com/shanselman/gputaskman
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted real-time web dashboard that monitors one or more NVIDIA DGX Spark and other GPU machines (GPU, memory, CPU, network, local LLM servers) in one browser window.
An interactive terminal monitor for NVIDIA GPUs that shows device and per-process status, with a CLI device selector and Python APIs.
Self-hosted, web-based real-time dashboard for monitoring NVIDIA GPUs, with a hub mode for multiple machines.
A Go daemon that continuously monitors NVIDIA GPUs and GPU fabric, detects hardware errors, and reports node health on Linux hosts and Kubernetes.
Windows tool for viewing and editing NVIDIA driver profile settings, including many hidden options not exposed in the NVIDIA Control Panel.