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.