← Las 34 trampasTrampa P-095 · severidad media

vLLM se niega a arrancar por falta de memoria aunque haya de sobra

Qué pasó

Una receta pedía reservar el 94 % de la memoria. Falló tres veces seguidas con:

ValueError: Free memory on device ... less than desired GPU memory utilization

Por qué

El chequeo de vLLM mira la memoria usada por los procesos, no la «disponible» del sistema. Dos servicios de escritorio que no pintaban nada (polkitd y bluetoothd) se habían hinchado hasta casi 2 GB, y eso bastaba para no llegar. Además, el propio arranque releía los pesos para verificarlos y llenaba la caché de disco.

Cómo evitarlo

ps -eo rss,comm --sort=-rss | head       # ¿quién se come la memoria?
sudo systemctl restart polkit bluetooth   # si son ellos
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

Y si una receta va tan justa, baja un poco el porcentaje: un 1 % menos no se nota en velocidad y te ahorra la pelea.