Una persona trabaja frente a una estación Linux con una GPU Nvidia instalada en un gabinete abierto, mientras monitorea memoria y rendimiento en dos pantallas.
Volver al blog

Usa la VRAM de tu GPU como swap en Linux

Aprende a usar la VRAM de tu GPU Nvidia como swap en Linux con nbd-vram, una técnica rara para probar límites de memoria, medir rendimiento y entender mejor tu hardware si trabajas con Linux desde LatAm.

Hay ideas de Linux que suenan a truco de laboratorio hasta que las pruebas. Usar la VRAM de una GPU Nvidia como swap entra justo en esa categoría: no es la forma normal de resolver falta de memoria, pero sí una forma bastante útil de entender dónde están los límites reales de tu equipo.

Si alguna vez tu PC con Linux se quedó sin RAM mientras compilabas, abrías varias pestañas, corrías un modelo local o lanzabas una carga pesada, ya sabes por qué existe el swap. La parte rara aquí es que, en vez de usar disco o SSD, intentas aprovechar memoria de video de la GPU como una extensión de la memoria del sistema. El proyecto nbd-vram, publicado en GitHub, explora exactamente esa idea con una aproximación bastante ingeniosa basada en NBD y acceso a VRAM.

Qué problema intenta resolver esta idea

El problema de fondo es simple: la RAM se acaba. Cuando eso pasa, Linux empieza a apoyarse en swap para evitar que el sistema se quede sin aire. El swap tradicional vive en disco, y aunque un NVMe moderno puede dar números decentes, sigue siendo muchísimo más lento que la RAM. En cargas reales, eso se siente en forma de pausas, latencia y procesos que se arrastran.

Aquí es donde entra la curiosidad técnica. Si tienes una GPU Nvidia con VRAM disponible, esa memoria no está siendo usada por el sistema operativo como memoria general. Está aislada para el trabajo gráfico y computacional de la GPU. La idea de nbd-vram es interponer un dispositivo de red de bloque y exponer esa VRAM de una forma que Linux pueda tratar como swap. No convierte a la VRAM en RAM mágica, pero sí abre una puerta para experimentar con un tipo de swap muy poco común.

La propuesta no busca reemplazar tu SSD ni competir con la RAM. Busca otra cosa: explorar qué pasa cuando mueves presión de memoria a un recurso que normalmente no se usa así. Eso sirve para probar límites, medir overhead y entender mejor la interacción entre kernel, NBD, GPU y memoria de sistema.

Por qué esto llama la atención

Primero, porque la VRAM suele ser bastante más rápida que un disco y, en algunas GPUs, también bastante grande. Una RTX 3060 puede traer 12 GB; una RTX 4090, 24 GB; y en estaciones de trabajo o servidores hay configuraciones todavía más serias. Si parte de esa memoria queda libre, usarla como swap puede parecer tentador.

Segundo, porque el experimento sirve para escenarios concretos: laboratorios caseros, pruebas de estrés, investigación de rendimiento o setups donde quieres exprimir hardware que ya tienes. No es una solución que debas poner en producción sin pensar, pero sí una herramienta útil para aprender.

Tercero, porque obliga a mirar el sistema completo. No solo importa la velocidad de la VRAM. También importa el camino que recorren los datos, el costo de moverlos entre CPU y GPU, y el impacto del controlador, del bus PCIe y del propio kernel.

Cómo funciona nbd-vram por dentro

El proyecto nbd-vram toma una ruta bastante particular. En vez de intentar que Linux vea directamente la VRAM como swap, usa NBD, el Network Block Device de Linux, para presentar un bloque de almacenamiento al sistema. Luego ese bloque se respalda con VRAM de una GPU Nvidia. La documentación y el código del repositorio explican el enfoque general, y vale la pena leerlo antes de probar nada: nbd-vram en GitHub.

La pieza clave es entender que el kernel no está accediendo a la VRAM de forma nativa como si fuera un módulo de memoria. Está hablando con un dispositivo de bloques a través de NBD. Eso agrega capas, y cada capa tiene costo. Por eso el rendimiento real depende mucho más de la arquitectura completa que del número bruto de GB/s que anuncie tu GPU.

El camino de los datos

Un flujo típico se puede pensar así:

  1. Un proceso consume RAM.
  2. Linux decide mover páginas a swap.
  3. El swap apunta a un bloque expuesto por NBD.
  4. nbd-vram traduce esa operación hacia la VRAM de la GPU.
  5. Cuando el sistema necesita esos datos otra vez, el camino se invierte.

Ese ida y vuelta no es gratis. Aunque la VRAM sea rápida, el acceso pasa por el bus PCIe y por la lógica del driver. En otras palabras, no estás usando la VRAM como si estuviera soldada a la placa madre. Estás usando un puente bastante inteligente entre dos mundos distintos.

Qué significa eso para el rendimiento

El resultado práctico es que puedes ganar capacidad de desborde, pero no necesariamente velocidad frente a RAM. De hecho, lo normal es que siga siendo más lenta que la memoria del sistema. La ventaja aparece cuando comparas contra swap en disco, sobre todo si el disco es SATA o si el NVMe ya está saturado por otras tareas.

También hay que considerar el patrón de uso. Swap no se comporta igual con datos fríos, páginas poco tocadas o cargas que revientan memoria de forma temporal. En algunos casos, la VRAM como swap puede ayudar a sostener el sistema bajo presión. En otros, solo te compra tiempo antes de que aparezca la lentitud.

Qué necesitas para probarlo

Antes de tocar nada, conviene revisar tres cosas: GPU compatible, driver Nvidia funcionando y una instalación de Linux donde puedas probar sin miedo. No es una función para improvisar en tu máquina principal si no sabes bien qué estás haciendo.

Según la documentación oficial de NBD en el kernel de Linux, el soporte del dispositivo de bloque de red se maneja como un módulo y requiere configuración a nivel de sistema. Puedes revisar la referencia del kernel aquí: Linux kernel NBD documentation. Y, si quieres entender mejor la parte de swap, la guía clásica de mkswap y swapon está documentada en la página de manual de util-linux: swapon(8).

Una forma razonable de prepararte es esta:

  • GPU Nvidia con VRAM libre suficiente.
  • Driver propietario funcionando.
  • Kernel Linux con soporte para NBD.
  • Permisos de administrador.
  • Espacio de swap tradicional como respaldo.
  • Monitorización activa con nvidia-smi, free -h y vmstat.

No necesitas una bestia de servidor para experimentar, pero sí una máquina que puedas reiniciar sin drama. Si tu objetivo es aprender, lo ideal es hacerlo en un entorno controlado.

Comandos útiles para revisar el terreno

Antes de probar cualquier montaje raro, mira el estado básico del sistema:

nvidia-smi
free -h
lsmod | grep nbd
cat /proc/swaps

Si nvidia-smi no responde, no sigas. Si NBD no está cargado, tendrás que habilitarlo. Y si ya tienes swap en disco, no lo quites a ciegas. Esta clase de experimento funciona mejor cuando comparas contra una línea base clara.

Qué tan útil puede ser en la práctica

La respuesta corta es: depende de lo que quieras medir. Si buscas una solución de uso diario para ampliar memoria, probablemente no sea la mejor ruta. Si buscas una forma de experimentar con memoria extendida usando hardware que ya tienes, sí tiene bastante sentido.

La VRAM como swap puede ser interesante en cargas donde el sistema necesita un colchón temporal. Por ejemplo, si estás abriendo un proyecto enorme, compilando código pesado, cargando un entorno con varias herramientas o probando una app que patea la RAM en picos cortos. En esos casos, tener un respaldo más rápido que un disco puede suavizar el golpe.

Pero hay límites claros. La VRAM también la necesitan los procesos de la GPU. Si estás renderizando, entrenando modelos o ejecutando cómputo intensivo en CUDA, esa memoria deja de estar libre. Y si la saturas como swap, puedes terminar compitiendo con el trabajo principal de la GPU.

Escenarios donde sí tiene sentido

  • Laboratorios caseros con GPUs potentes y RAM limitada.
  • Pruebas de estrés para ver cómo responde Linux bajo presión.
  • Experimentos de investigación o benchmarking comparativo.
  • Equipos donde el swap en SSD ya es un cuello de botella.
  • Sistemas de desarrollo donde la carga de memoria es intermitente.

Escenarios donde no conviene

  • Producción sin métricas ni monitoreo.
  • Equipos donde la GPU ya está ocupada todo el tiempo.
  • Portátiles con poca ventilación y margen térmico bajo.
  • Sistemas sin swap tradicional de respaldo.
  • Máquinas donde un fallo te puede costar trabajo no guardado.

La clave es no venderte una fantasía. Esto no reemplaza una buena cantidad de RAM. Tampoco convierte una GPU en una extensión transparente de memoria general. Lo que sí hace es darte una forma distinta de absorber presión de memoria y aprender de paso cómo responde tu hardware.

Cómo probarlo sin romper nada

La forma más prudente de acercarte a este experimento es ir por pasos y medir todo. No empieces con cargas reales. Primero verifica que el dispositivo aparezca, luego que el sistema pueda asignarlo como swap, y recién después empuja memoria de manera controlada.

Un plan simple podría verse así:

  1. Verifica que la GPU esté disponible con nvidia-smi.
  2. Confirma que el módulo NBD esté cargado.
  3. Sigue las instrucciones del repositorio nbd-vram para levantar el backend.
  4. Crea o habilita el área de swap expuesta por el dispositivo.
  5. Revisa con swapon --show que el sistema la haya tomado.
  6. Lanza una carga pequeña y observa latencia, uso de VRAM y presión de memoria.
  7. Compara contra swap en NVMe o SATA, si tienes ambos escenarios.

No hace falta que inventes métricas sofisticadas al principio. Con free -h, vmstat 1, watch -n 1 nvidia-smi y una tarea reproducible ya puedes sacar bastante información útil.

Tabla de comparación básica

Opción de swapVelocidad típica percibidaComplejidadRiesgo de interferencia con GPUUso recomendado
RAMMuy altaBajaNuloMemoria principal del sistema
SSD NVMeMedia a altaBajaNuloSwap común en Linux
SSD SATAMediaBajaNuloEquipos viejos o simples
VRAM Nvidia con nbd-vramVariable, depende del bus y driverMediaAlto si la GPU está ocupadaLaboratorio, pruebas y experimentación

Esta tabla no pretende darte números absolutos, porque eso depende de tu GPU, tu placa, tu kernel y tu carga. Sirve para ubicar el experimento en el mapa correcto.

Qué aprenderás al hacerlo

Más allá del truco en sí, este tipo de prueba te enseña varias cosas útiles. La primera es que la memoria no es una sola cosa. RAM, VRAM, caché, swap y almacenamiento hacen trabajos distintos. La segunda es que el rendimiento real depende de rutas de acceso, no solo de capacidad nominal.

También aprendes a leer mejor tu sistema. Cuando ves swapon, nvidia-smi, vmstat y htop al mismo tiempo, empiezas a notar qué parte del cuello de botella está en CPU, cuál en memoria y cuál en el bus. Esa lectura te sirve mucho más que una cifra aislada.

Y hay un tercer aprendizaje: Linux es bastante flexible. Si una pieza del hardware no fue pensada para un uso concreto, todavía puedes construir una capa intermedia y darle otro papel. NBD, swap y VRAM juntos son una buena muestra de esa flexibilidad.

Métricas que vale la pena observar

  • Uso de VRAM antes y después de activar el swap.
  • Cantidad de swap realmente ocupada.
  • Latencia de respuesta del sistema bajo carga.
  • Tiempo de compilación o de apertura de proyectos grandes.
  • Temperatura de la GPU si estás empujando el sistema fuerte.

Si quieres hacer una comparación seria, repite la prueba al menos tres veces con el mismo escenario. Una sola corrida puede engañarte por caché, procesos en segundo plano o ruido del sistema.

Tabla resumen

Pregunta cortaRespuesta corta
¿Qué es nbd-vram?Un proyecto que expone VRAM de Nvidia como un dispositivo usable por Linux vía NBD.
¿Reemplaza la RAM?No. Solo ofrece una capa de respaldo o desborde.
¿Va más rápido que un SSD?Puede serlo en algunos escenarios, pero depende del bus, el driver y la carga.
¿Sirve para producción?No como regla general. Mejor para pruebas y laboratorio.
¿Necesito una GPU Nvidia?Sí, el enfoque del proyecto está pensado para Nvidia.
¿Qué debo monitorear?VRAM, swap, temperatura de GPU y presión de memoria del sistema.

La utilidad real de esta técnica está en el equilibrio entre curiosidad y control. Si la usas con métricas, puedes aprender bastante sobre tu máquina. Si la usas como reemplazo improvisado de RAM, probablemente termines con un sistema más lento y difícil de mantener.

Preguntas frecuentes

¿Usar VRAM como swap en Linux es una buena idea para todos?
No. Es una técnica experimental que tiene sentido sobre todo para pruebas, laboratorio y casos muy específicos. Si buscas estabilidad diaria, normalmente te conviene más agregar RAM o mejorar tu swap en SSD.
¿La VRAM es más rápida que un SSD para swap?
Puede serlo en algunos escenarios, pero no lo des por hecho. La ruta pasa por PCIe, el driver y NBD, así que el rendimiento real depende mucho de tu hardware y de la carga.
¿Puedo usar esto mientras la GPU está entrenando modelos?
No es lo ideal. Si la GPU ya está ocupada con CUDA, render o inferencia, la VRAM libre se reduce y el swap puede competir con el trabajo principal. Eso puede empeorar el rendimiento de ambos lados.
¿Necesito conocimientos avanzados de Linux para probar nbd-vram?
Sí, al menos un nivel intermedio. Vas a tocar módulos del kernel, swap y monitoreo del sistema, así que conviene saber revertir cambios si algo no responde como esperas.
¿Qué gano al hacer esta prueba si no la usaré en producción?
Ganas comprensión real del comportamiento de memoria en Linux y de cómo se relacionan RAM, VRAM, swap y bus PCIe. También te sirve para hacer benchmarks comparativos con datos propios.
¿Hay documentación oficial que deba revisar antes?
Sí. El repositorio de nbd-vram en GitHub explica el proyecto, y la documentación del kernel de Linux sobre NBD ayuda a entender la base técnica. También conviene revisar la página de manual de swapon para no improvisar con el swap.
¿Esto funciona en cualquier GPU Nvidia?
No necesariamente. Depende del soporte del driver, del kernel y de cómo esté implementado el proyecto. Antes de probar, revisa el repositorio y confirma que tu configuración se parezca a la que usan en los ejemplos.

Azirgo

¿Listo para construir tu Producto Digital?

Sitios web, apps móviles, software a medida y soluciones blockchain. Cuéntanos qué tienes en mente y armamos un plan claro contigo.

  • Cotización clara en 48 horas
  • Equipo en Ecuador, atención en español
  • Desde un MVP hasta un producto en producción