Before you download a 20 GB model or a new ComfyUI workflow, you need two numbers: how much VRAM your GPU has, and how much of it is already in use. Windows hides the first in a few places and often shows a confusing “shared GPU memory” figure next to it. On Linux you need a command, and on a Mac there’s no VRAM at all in the usual sense. This guide shows every reliable way to check, on every platform, plus the commands I use to watch VRAM live while running Ollama, LM Studio, llama.cpp and ComfyUI.
- Windows (fastest): Ctrl + Shift + Esc > Performance > GPU. Look at Dedicated GPU memory. Ignore “Shared GPU memory”, that’s system RAM.
- NVIDIA anywhere: run
nvidia-smi. Live view:nvidia-smi -l 1. Just the numbers:nvidia-smi --query-gpu=name,memory.total,memory.used,memory.free --format=csv. - AMD on Linux:
amd-smi monitororrocm-smi --showmeminfo vram. Any GPU on Linux:nvtop. - Mac: Apple Silicon uses unified memory. Check the total in About This Mac; by default macOS lets the GPU use roughly two-thirds to three-quarters of it.
- AI apps:
ollama psshows each loaded model’s size and GPU/CPU split.
VRAM, Shared Memory and Unified Memory
Three terms cause most of the confusion:
- Dedicated VRAM is the memory soldered onto a graphics card (GDDR6, GDDR7, HBM). An RTX 5080 has 16 GB, an RTX 5090 has 32 GB. This is the number that decides which AI models fit.
- Shared GPU memory is a slice of normal system RAM that Windows lets the GPU borrow, usually up to half your RAM. It’s many times slower than VRAM. When a model spills into it, generation speed collapses.
- Unified memory (Apple Silicon, AMD Ryzen AI Max, NVIDIA DGX Spark) is one pool of RAM shared by CPU and GPU. It isn’t as fast as a big card’s VRAM, but the GPU can use most of it.
Integrated graphics on normal Intel and AMD laptops have no dedicated VRAM. They show a small “reserved” amount plus shared memory.
Check VRAM on Windows 11 and 10
Method 1: Task Manager (shows total and live usage)
- Press Ctrl + Shift + Esc.
- Open the Performance tab (the chart icon on Windows 11).
- Click GPU 0 (or GPU 1 if you have two).
- Read Dedicated GPU memory, for example “3.1/16.0 GB”. The first number is in use, the second is the total.
To see which app is using it, open the Details tab, right-click a column header, choose Select columns and tick Dedicated GPU memory.
Method 2: Settings
Settings > System > Display > Advanced display > Display adapter properties for Display 1. The Adapter tab shows Dedicated Video Memory. On a multi-GPU PC this only shows the card driving that monitor.
Method 3: dxdiag
Press Win + R, type dxdiag, open the Display tab and read Display Memory (VRAM). Ignore “Approx. Total Memory”, which adds shared memory.
Method 4: GPU-Z or the vendor app
TechPowerUp GPU-Z shows the memory size, type (GDDR7, GDDR6X) and bus width, and its Sensors tab logs memory used. The NVIDIA App and AMD Software: Adrenalin Edition also show VRAM in their overlays (Alt + R in the NVIDIA overlay, Ctrl + Shift + O in Adrenalin).
nvidia-smi Commands (Windows and Linux)
nvidia-smi ships with the NVIDIA driver. On Windows open PowerShell or Command Prompt; on Linux any terminal.
| Command | What it shows |
|---|---|
nvidia-smi |
Every GPU with memory used/total, utilisation, temperature, power, and the processes using VRAM |
nvidia-smi -l 1 |
Same table, refreshed every second (Ctrl + C to stop) |
nvidia-smi --query-gpu=index,name,memory.total,memory.used,memory.free --format=csv |
Just the memory numbers, one line per GPU |
nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits -l 1 |
One number per second, handy for logging |
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv |
Which processes hold VRAM and how much |
nvidia-smi dmon -s mu |
Compact live monitor of memory and utilisation |
On Linux, watch -n 1 nvidia-smi gives a clean live view. On Windows, the process list often shows “N/A” for memory per process because of the WDDM driver model; use Task Manager’s Details tab for per-app numbers there.
AMD and Intel GPUs
- AMD on Windows: Task Manager works the same way. Adrenalin > Performance > Metrics shows VRAM usage live.
- AMD on Linux:
amd-smi monitor(newer ROCm) orrocm-smi --showmeminfo vram. Without ROCm, readcat /sys/class/drm/card*/device/mem_info_vram_totalandmem_info_vram_used(values in bytes). - Intel Arc on Windows: Task Manager, or Intel Graphics Software.
- Intel Arc on Linux:
xpu-smi stats -d 0if installed, ornvtop, which supports Intel GPUs.
Check VRAM on Linux
- Identify the card:
lspci | grep -iE 'vga|3d'. - Use the vendor tool:
nvidia-smi,amd-smi/rocm-smi, orxpu-smi. - For one tool that covers NVIDIA, AMD and Intel with a live graph, install nvtop:
sudo apt install nvtop(Ubuntu/Debian) orsudo dnf install nvtop(Fedora), then runnvtop.
If nvidia-smi says “command not found”, the proprietary driver isn’t installed. On Ubuntu, run sudo ubuntu-drivers install and reboot.
Check GPU Memory on a Mac
Macs with Apple Silicon (M1 to M5) have no separate VRAM. The GPU uses unified memory.
- Total memory: Apple menu > About This Mac. The Memory line (for example 48 GB) is the shared pool.
- Live usage: Activity Monitor > Memory tab for overall pressure, and Window > GPU History for GPU load.
- Detailed:
sudo powermetrics --samplers gpu_power -i 1000shows GPU activity each second.
By default macOS caps how much of that memory the GPU can wire for itself, roughly two-thirds on smaller Macs and about three-quarters on larger ones. Tools like LM Studio show the current limit. Advanced users can raise it until the next reboot with sudo sysctl iogpu.wired_limit_mb=40960 (example for 40 GB on a 48 GB Mac). Leave at least 8 GB for macOS or the system will swap heavily.
Intel Macs with AMD Radeon cards show VRAM in About This Mac > More Info > System Report > Graphics/Displays.
See VRAM Used by Ollama, ComfyUI and PyTorch
- Ollama:
ollama pslists loaded models, their size and the split, for example “100% GPU” or “38%/62% CPU/GPU”. Anything other than 100% GPU means part of the model runs from system RAM and will be slower. - LM Studio: the model loader shows estimated VRAM before loading and the GPU offload slider shows how many layers go to the GPU.
- llama.cpp: the startup log prints how many layers were offloaded and the size of the model and KV cache buffers on each device.
- ComfyUI: the console prints total VRAM at startup and whether it loaded models fully or partially. Run it with
--reserve-vram 1to keep 1 GB free for Windows. - PyTorch:
python -c "import torch; f,t=torch.cuda.mem_get_info(); print(f/2**30, t/2**30)"prints free and total GB.
Cheat Sheet
| Platform | Total VRAM | Live usage |
|---|---|---|
| Windows, any GPU | Task Manager > Performance > GPU | Same screen, Dedicated GPU memory graph |
| NVIDIA, Windows or Linux | nvidia-smi |
nvidia-smi -l 1 |
| AMD, Linux | rocm-smi --showmeminfo vram |
amd-smi monitor |
| Intel Arc, Linux | xpu-smi discovery |
nvtop |
| Mac, Apple Silicon | About This Mac > Memory | Activity Monitor |
| Ollama | – | ollama ps |
What Your Number Means for AI
| VRAM | LLMs that fit fully (Q4 GGUF) | Image and video |
|---|---|---|
| 6-8 GB | Up to about 8B | SDXL, FLUX and Qwen-Image only as small GGUF quants, slow video |
| 12 GB | Up to about 14B | Most image models with FP8 or GGUF |
| 16 GB | Up to about 20-24B, MoE models with offload | Image models comfortably, Wan 2.2 and LTX with GGUF |
| 24 GB | 27B-32B dense | Most video workflows |
| 32 GB+ | 32B at higher quality, 70B with offload | Full-precision image models, long video |
These are rules of thumb. Context length adds to the total, so leave 1-3 GB headroom. My full breakdown by model is in how much VRAM do I need for AI.
Troubleshooting Wrong or Missing VRAM
Task Manager shows 0.5 GB or 2 GB on a laptop with an RTX GPU
You’re looking at the integrated GPU (GPU 0). Click GPU 1. If the NVIDIA GPU is missing, install the latest driver from NVIDIA and check that the laptop isn’t in a BIOS “iGPU only” or Eco mode.
VRAM is almost full at idle
Browsers, Discord, game launchers and Wallpaper Engine all keep VRAM. Check the Dedicated GPU memory column in Task Manager’s Details tab and close the biggest users before loading a model. A lingering Python or llama-server process from a crashed run is a common culprit: end it in Task Manager or with kill on Linux.
The card shows less than advertised
Slightly less is normal: a 16 GB card shows about 15.9 GB, and Windows reserves a few hundred MB for the desktop. A big gap (for example 8 GB on a “16 GB” card) can mean a counterfeit or misflashed card. Check the memory size in GPU-Z against the official spec.
nvidia-smi shows “No devices were found”
The driver isn’t loaded. Reinstall the driver, check the card is seated and powered, and on Linux check Secure Boot isn’t blocking the kernel module.
My model uses shared GPU memory and runs slowly
The model plus its context doesn’t fit in VRAM. Use a smaller quant, shorten the context, or in the NVIDIA Control Panel set CUDA – Sysmem Fallback Policy to Prefer No Sysmem Fallback, so the app reports out of memory instead of quietly slowing to a crawl.
Frequently Asked Questions
How do I check how much VRAM I have on Windows 11?
Press Ctrl + Shift + Esc, open Performance, click your GPU and read Dedicated GPU memory. The second number is your total VRAM.
Is shared GPU memory the same as VRAM?
No. Shared GPU memory is system RAM the GPU can borrow. It’s much slower, and AI models that spill into it run far slower than in dedicated VRAM.
How do I check VRAM usage with nvidia-smi?
Run nvidia-smi in a terminal for a snapshot, or nvidia-smi -l 1 for a live view. For just the numbers, use nvidia-smi –query-gpu=memory.total,memory.used,memory.free –format=csv.
How much VRAM does a Mac have?
Apple Silicon Macs have no separate VRAM. The GPU shares the Mac’s unified memory, and by default macOS lets it use roughly two-thirds to three-quarters of the total.
How do I check VRAM on Linux with an AMD GPU?
Use amd-smi monitor or rocm-smi –showmeminfo vram. Without ROCm installed, read mem_info_vram_total and mem_info_vram_used in /sys/class/drm/card*/device/.
How can I see how much VRAM Ollama is using?
Run ollama ps. It shows each loaded model’s size and whether it runs 100% on the GPU or is split between CPU and GPU.
Why does my GPU show less VRAM than advertised?
Small differences are normal because of GB vs GiB and memory reserved by the system. A large gap can point to the wrong GPU being selected or a counterfeit card, so check with GPU-Z.
Final Thoughts
For everyday checks, Task Manager on Windows and nvidia-smi or nvtop on Linux are all you need. When I’m testing a new model, I keep nvidia-smi -l 1 open in a second window: if memory used climbs right up to the total, I know the next step is a smaller quant or a shorter context. On a Mac, remember it’s the unified memory total, and the GPU’s share of it, that matters.
Next steps: if you’re choosing new hardware, read the best GPU for local LLMs, and if you’re on a Mac or considering one, Mac vs PC for local AI. If Ollama isn’t touching your GPU at all, my Ollama install and GPU fix guide walks through it.