Ce face Memoria GPU (--gpu-memory-utilization)
--gpu-memory-utilization stabilește ce fracțiune din memoria GPU folosește executorul modelului, între 0 și 1; 0.5 înseamnă 50%. Valoarea implicită în vLLM 0.32 este 0.92. Alias: --device-memory-utilization; pe platformele fără GPU controlează memoria dispozitivului.
Limita este per instanță: nu contează dacă pe același GPU rulează altă instanță vLLM. Două instanțe pe un GPU pot primi 0.5 fiecare. vLLM prealocă KV cache-ul din această memorie, deci o valoare mai mare înseamnă mai mult KV cache și mai puține preemptări.
Pentru control exact folosești --kv-cache-memory-bytes, dimensiunea KV cache-ului per GPU în bytes. Când este setat, --gpu-memory-utilization este ignorat.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
--gpu-memory-utilization, --device-memory-utilization |
Fracțiunea de memorie folosită. Implicit 0.92. |
--kv-cache-memory-bytes |
KV cache per GPU în bytes (acceptă 1k, 2M, 1G etc.). |
--cpu-offload-gb |
GiB de greutăți mutate în memoria CPU, per GPU. Implicit 0. |
Exemple practice
Exemplul 1: Mai puțină memorie, ca în ghidul Draft Models
vllm serve Qwen/Qwen3-4B-Thinking-2507 \
--max-model-len 2048 \
--gpu-memory-utilization 0.8
Exemplul 2: Două instanțe pe același GPU
vllm serve MODEL_A --port 8000 --gpu-memory-utilization 0.5
vllm serve MODEL_B --port 8001 --gpu-memory-utilization 0.5
Exemplul 3: KV cache cu dimensiune fixă
vllm serve MODEL --kv-cache-memory-bytes 8G
Greșeli frecvente și bune practici
- Te bazezi pe valoarea veche 0.90 din tutoriale. Implicit este 0.92 în versiunea curentă.
- Crezi că valoarea se împarte automat între instanțe. Fiecare instanță o aplică doar pentru ea; suma pe același GPU trebuie să rămână sub 1.
- Setezi și
--kv-cache-memory-bytes, și--gpu-memory-utilization; a doua este ignorată.