TUESDAY, NOVEMBER 10, 2026 Tech news, minus the noise.
N News Cast
LATEST
Home  /  Dev
Dev

gputaskman Shows Exactly What Is Eating Your GPU Memory

Scott Hanselman released gputaskman, a free open-source GPU task manager that shows per-process VRAM use and LLM workloads on Windows, Linux, and Mac.

gputaskman Shows Exactly What Is Eating Your GPU Memory
Source: Jacek Halicki, Wikimedia Commons (CC BY-SA 4.0)

Your GPU is out of memory again, and Task Manager will not tell you why. It shows a single percentage and a total, which is about as useful as a fuel gauge that says the tank is empty without saying who drank the petrol. Scott Hanselman, a Microsoft vice president and member of the technical staff at Microsoft and GitHub, got annoyed enough to fix it himself. The result is gputaskman, a free, open-source GPU task manager that shows exactly which process is eating your VRAM.

Hanselman released the tool in early November, with versions 0.1.0, 0.2.0, and 0.3.0 all landing on November 3. It is published on GitHub under the MIT license, and it works on Windows, Linux, WSL, and Apple Silicon Macs. Neowin first reported it on November 6, and Tom's Hardware has already tested the portable Windows build.

What gputaskman shows that Task Manager does not

The tool is a terminal UI that breaks down GPU memory and activity by individual process. It shows per-process VRAM, GPU utilization, temperature, power consumption, clock speeds, encoder and decoder activity, and PCIe traffic. The three-section display puts the process list, the hardware counters, and the workload details in one view, so you can see at a glance that the browser is holding 6GB of VRAM while your game is trying to load textures.

On Windows, it uses the system's GPU counters, NVIDIA's NVML, and AMD's monitoring interfaces. Support for NVIDIA and AMD cards covers Windows 10 and 11, with different capabilities on Linux, WSL, and Mac depending on what each platform exposes. It is the kind of tool that makes you wonder why the operating system never shipped one: the data was always there, just scattered across half a dozen interfaces.

Hanselman built it for his own problem, and the README is honest about what it can and cannot do. It does not dump VRAM contents, and it cannot identify individual game textures, tensors, or kernels. What it does is answer the question every developer and gamer asks at some point: which process is using my GPU, and how much is it taking.

The LLM angle is the interesting part

The feature that sets gputaskman apart from a plain GPU monitor is its model inspector. For local AI workloads, it links per-process GPU memory and engine activity to loaded runtimes, model files, and LLM buffer breakdowns, including KV-cache usage. If you run local models through llama.cpp or a similar runtime, it can show which model is loaded, how much memory the weights take, and how much the KV cache is consuming.

That matters because local AI is now a normal reason to own a big GPU, and the memory math is opaque. A model that fits in VRAM on paper can fail to load because the KV cache grew, or because a second process grabbed memory first. gputaskman shows the breakdown instead of making you guess.

The README separates measured counters from inferred details, and that distinction is worth respecting. The device counters and process memory measurements come from system interfaces. The model and memory breakdowns are estimates: they assume llama.cpp-style placement, and partial offload, KV quantization, or multiple models in one process can change the result. Treat the model breakdowns as a well-informed starting point, not ground truth.

What to know before you run it

Hanselman describes gputaskman as early experimental software, and the rough edges show. The builds are currently unsigned, with no installer, and each ZIP ships with a .zip.sha256 companion file for integrity checks. Check the hash before you run an unsigned binary from the internet, even one from a Microsoft VP. Real-world testing found minor quirks, including a GPU temperature readout that occasionally freezes instead of updating.

It also reads local process metadata, model headers, load logs, and local server responses, and the README states plainly that it sends no telemetry. That is the right design for a tool that inspects what your machine is doing.

To try it, clone the repository at github.com/shanselman/gputaskman, then run it with uv run --locked gputaskman. Portable Windows builds are available on the GitHub Releases page. It will not fix your VRAM shortage. But it will tell you who is responsible, and that is usually the hard part. The same week brought other useful developer news: TypeScript 7.1 beta brought back the compiler API, Apache Airflow 3.4.0 added task loops, and OmniDiff reads code instead of lines. The tooling ecosystem is having a good month, and gputaskman is the most immediately useful of the three.

AS
News Cast Editorial Team

We cover AI, gadgets, startups and security — original reporting and explainers, written by humans, for humans. Got a tip? Reach us via the contact page.