Ollama hace que ejecutar un modelo de lenguaje en Linux parezca tan sencillo como escribir ollama run. La instalación, en realidad, es la parte fácil. Lo que suele salir mal es descargar un modelo demasiado grande, asumir que está utilizando la gráfica o aumentar el contexto hasta que el equipo empieza a intercambiar memoria con el disco.
En esta guía vamos a instalarlo, comprobar dónde se ejecuta y elegir un modelo a partir de la memoria disponible. He hecho la comprobación con Ollama 0.20.3, un equipo con 14 GiB de RAM y sin GPU compatible detectada. Un Llama 3.1 8B cuantizado ocupaba 4,9 GB en disco y apareció como 5,2 GB cargados, completamente en CPU, con un contexto de 4096 tokens.

Instalar Ollama en Linux
La documentación oficial ofrece un script de instalación. Antes de enviarlo directamente a una shell, prefiero descargarlo y leerlo:
curl -fsSL https://ollama.com/install.sh -o /tmp/ollama-install.sh
less /tmp/ollama-install.sh
sh /tmp/ollama-install.sh
El instalador coloca el ejecutable y prepara un servicio systemd en las distribuciones compatibles. Podemos revisar tanto la versión como el estado:
ollama --version
systemctl status ollama --no-pager
Si hemos realizado una instalación manual, el servicio no tiene por qué existir. En ese caso ollama serve inicia el servidor en la terminal actual. No debemos abrir el puerto de Ollama a Internet: por defecto escucha localmente y es preferible mantenerlo así salvo que sepamos proteger la API.
Descargar y ejecutar el primer modelo
La biblioteca de Ollama muestra las variantes disponibles y sus tamaños. Para una primera prueba escogería un modelo pequeño o medio, no el de mayor número de parámetros que aparezca en portada:
ollama pull llama3.1:8b
ollama run llama3.1:8b
El nombre es un ejemplo reproducible, no una recomendación universal. Para programación, traducción o visión puede interesarnos otra familia. Antes de descargar, revisamos la ficha del modelo, su licencia, los idiomas y si la variante incluye las capacidades que necesitamos.
Comprobar si utiliza CPU o GPU
Mientras el modelo está cargado ejecutamos:
ollama ps
La columna PROCESSOR puede indicar 100% CPU, 100% GPU o un reparto entre ambas. En la prueba realizada aparecía:
NAME SIZE PROCESSOR CONTEXT
llama3.1:8b 5.2 GB 100% CPU 4096
El primer arranque tardó algo más de cuatro segundos porque también tuvo que cargar el modelo. Esta cifra no sirve para comparar la velocidad de generación: una respuesta de dos palabras mide sobre todo la carga inicial. Para evaluar un equipo necesitaríamos repetir el mismo prompt, separar tiempo de carga y generación y contar tokens por segundo.
Parámetros, cuantización y memoria no son lo mismo
Un modelo 8B contiene aproximadamente ocho mil millones de parámetros. Si todos se guardasen a 16 bits, sólo los pesos rondarían 16 GB. Las variantes que usamos en local suelen estar cuantizadas: representan los pesos con menos bits y reducen mucho el archivo y la memoria, a costa de perder algo de precisión.
- Tamaño del archivo: es una primera pista sobre la memoria necesaria.
- Memoria cargada: incluye los pesos y otras estructuras del motor.
- Contexto: la memoria aumenta al permitir conversaciones o documentos más largos.
- Paralelismo: varias peticiones simultáneas multiplican parte del consumo.
Por eso la regla «si el archivo cabe en la VRAM, funciona» es incompleta. Debe quedar margen para el contexto, el escritorio, otras aplicaciones y la propia gráfica. Si el modelo se reparte entre GPU y RAM puede funcionar, pero ser bastante más lento. Si el sistema empieza a usar swap de forma continua, la experiencia suele empeorar de golpe.
Qué tamaño elegir según la memoria
| Memoria disponible | Punto de partida | Comentario |
|---|---|---|
| 8 GB de RAM, sin GPU | 1B a 4B cuantizado | Dejamos margen al sistema; un 7B u 8B puede entrar demasiado justo |
| 16 GB de RAM, sin GPU | 7B u 8B cuantizado | Es la zona razonable para probar chat y tareas pequeñas en CPU |
| 32 GB de RAM, sin GPU | 8B a 14B cuantizado | Los modelos mayores funcionarán, pero la CPU puede ser el límite |
| 8 GB de VRAM | 7B u 8B cuantizado | Conviene reservar margen para contexto y escritorio |
| 12 a 16 GB de VRAM | 8B a 14B cuantizado | Depende mucho de la cuantización y del contexto |
| 24 GB de VRAM | 14B y algunas variantes mayores | No todos los modelos de 30B caben completos con contexto amplio |
Son puntos de partida deliberadamente prudentes. La etiqueta exacta de cada modelo importa más que el número de parámetros. La forma más fiable de decidir es descargar una variante, cargarla con un contexto moderado y observar ollama ps, free -h y, si hay NVIDIA, nvidia-smi.
El contexto también consume memoria
Que un modelo anuncie 128K tokens no significa que debamos ejecutarlo siempre con ese contexto. Ollama permite ajustar la longitud, pero un contexto mayor reserva más memoria y reduce el margen para el modelo o para otras sesiones. En un equipo local empezaría por 4096 u 8192 y sólo subiría si la tarea lo necesita.
OLLAMA_CONTEXT_LENGTH=8192 ollama serve
Si Ollama se ejecuta como servicio, la variable debe configurarse en systemd y después hay que recargar y reiniciar el servicio. No conviene copiar una configuración de 64K para resumir textos de dos páginas: estamos pagando memoria por una capacidad que no utilizamos.
Modelos locales y privacidad
Ollama permite trabajar localmente, pero conviene distinguir eso de asumir que cualquier herramienta conectada a él es privada. Una interfaz web, un editor o un agente pueden tener sus propias integraciones externas. La documentación permite desactivar las funciones de nube de Ollama con OLLAMA_NO_CLOUD=1; además debemos revisar el resto de componentes.
Para tareas agénticas tampoco basta con que el modelo responda bien en un chat. Como explicamos al analizar por qué Claude Code no funciona igual con modelos locales, leer archivos, llamar herramientas y mantener un plan exige algo más que generar texto convincente.
Actualizar, borrar modelos y recuperar espacio
ollama list
ollama rm nombre-del-modelo
ollama pull nombre-del-modelo
ollama pull vuelve a descargar las capas que hayan cambiado. En una instalación Linux con servicio, los modelos suelen almacenarse bajo /usr/share/ollama/.ollama/models. No borraría archivos internos a mano: ollama rm mantiene coherente el almacén.
Mi recomendación para empezar
Con 16 GB de RAM y sin gráfica compatible, empezaría con un modelo cuantizado de 7B u 8B y un contexto de 4096. Con 8 GB bajaría a 3B o 4B. Si hay GPU, miraría primero la VRAM real y comprobaría después ollama ps, porque tener una gráfica instalada no garantiza que Ollama la esté usando.
La mejor configuración local no es la que consigue cargar el modelo más grande, sino la que responde con suficiente calidad sin dejar el ordenador inutilizable. Cuando esa base funciona, ya tiene sentido comparar variantes, ampliar contexto o buscar un modelo especializado.
