APIUp to 28% cheaper than official pricesTry the API →
Hermes
Back to News

Scott Hanselman's gputaskman Finally Explains Where Windows GPU Memory Goes

Scott Hanselman released gputaskman , an MIT-licensed terminal GPU monitor for Windows NVIDIA systems. Breaks down per-process VRAM into model weights, KV cache, runtimes, and shared compositor surfaces.

Scott Hanselman's gputaskman Finally Explains Where Windows GPU Memory Goes
Source
AlphaSignal
Published
Author
AlphaSignal
Read
2 min read

Takeaways

  • Scott Hanselman released gputaskman , an MIT-licensed terminal GPU monitor for Windows NVIDIA systems.
  • Breaks down per-process VRAM into model weights, KV cache, runtimes, and shared compositor surfaces.
  • Identifies loaded models via GGUF headers, mapped files, and local APIs from llama.cpp, Ollama, and LM Studio.
  • GGUF weight and KV estimates matched runtime logs exactly on Qwen3-0.6B spot checks.
  • Ships as portable x64 and ARM64 ZIPs or installable via uv run --locked gputaskman .
  • Offers --once text and --json snapshots for scripting dashboards and CI pipelines.

Windows Task Manager can report 15 GB of GPU memory in use while leaving the allocation unexplained. Model weights, a large-language model’s key-value (KV) cache, browser compositor surfaces, and GPU-accessible system RAM appear in separate counters or remain difficult to connect. Scott Hanselman has released the open-source gputaskman repository to gather those signals in one terminal interface.

The MIT-licensed app is written in Python with Textual and targets NVIDIA GPUs on Windows. It is available as a portable Windows ZIP or a source checkout. Its main use is diagnosing local AI workloads that exceed VRAM, use unexpectedly large KV caches, or share the GPU with other applications.

One screen, three layers

The terminal interface organizes its telemetry into device, process, and model views:

ViewReported data
DeviceVRAM capacity and use, GPU and memory activity, PCIe traffic, temperature, power, video-engine clock, and historical charts.
ProcessLocal GPU memory, GPU-accessible system RAM, estimated committed memory outside local VRAM, engine activity, and detected runtimes such as CUDA, Vulkan, Direct3D, ggml, and ONNX Runtime.
ModelModel identity, supporting evidence, architecture, layer count, weight size, quantization format, estimated KV-cache cost, and buffer sizes extracted from compatible load logs. The KV cache stores attention state and usually grows with context length.

The live collector also supports automation. The --once option prints one text snapshot, while --json emits structured data from the same collector used by the interface. Both modes can feed diagnostic scripts, dashboards, and CI logs.

Reporting is indexed from AlphaSignal. Rights remain with the original publisher and cited sources.

Read original report

Sources

  1. 01github.com
  2. 02devblogs.microsoft.com
  3. 03docs.astral.sh