Efficient memory management is essential when running
large language models (LLMs) with Ollama. Since models can consume several gigabytes of RAM or VRAM, optimizing memory usage improves performance, reduces loading times, and allows larger models to run on limited hardware.
Why Memory Optimization Matters
LLMs store billions of parameters in memory during inference. Insufficient memory can lead to:
Slow inference due to swapping between RAM and disk.
Increased latency when layers are offloaded between VRAM and system RAM.
Failure to load large models.
Reduced system responsiveness.
Optimizing memory usage helps maximize the performance of your available hardware.
1. Use Quantized Models
Quantization reduces the precision of model weights (for example, from 16-bit floating point to 4-bit or 5-bit integers), significantly lowering memory requirements with only a small impact on model quality.
Common Quantization Levels
Quantization
Memory Usage
Performance
Accuracy
Q2
Very Low
Very Fast
Lowest
Q3
Low
Fast
Good
Q4_K_M
Moderate
Fast
Very Good
Q5_K_M
Higher
Moderate
Excellent
Q6
High
Moderate
Near Original
FP16
Very High
Slower
Original
Recommendation: For most users, Q4_K_M provides an excellent balance between memory usage and response quality.
2. Choose an Appropriate Model Size
Larger models require substantially more memory.
Model Size
Approximate Memory Requirement
3B
2–4 GB
7B
4–8 GB
13B
8–12 GB
32B
20–24 GB
70B
40–48+ GB
Running a model that fits comfortably within your available memory generally provides the best performance.
3. Keep Models Fully in VRAM
If you're using a GPU, aim to keep the entire model in VRAM.
Benefits:
Faster inference
Lower latency
Reduced CPU-GPU communication
If VRAM is insufficient, Ollama may offload portions of the model to system RAM, which can significantly reduce throughput.
4. Close Unnecessary Applications
Freeing system resources before running Ollama can make a noticeable difference.
Close applications that consume large amounts of RAM or VRAM, such as:
Web browsers with many open tabs
Video editing software
Games
Virtual machines
Other AI applications
5. Increase Available System RAM
When running models primarily on the CPU, sufficient RAM is critical.
General recommendations:
Model
Recommended RAM
3B
8 GB
7B
16 GB
13B
32 GB
30B+
64 GB or more
Additional RAM also benefits systems where models are partially offloaded from GPU memory.
6. Avoid Running Multiple Large Models Simultaneously
Each loaded model consumes memory independently.
Instead of running several large models at once:
Load only the model you need.
Unload idle models when they're no longer required.
Schedule inference tasks sequentially when possible.
7. Select an Appropriate Context Window
The context window determines how much conversation history the model retains.
Larger context windows require more memory.
Example:
2K tokens → Lower memory usage
4K tokens → Moderate memory usage
8K+ tokens → Significantly higher memory usage
Use the smallest context size that satisfies your application's requirements.
8. Monitor Memory Usage
Monitoring helps identify bottlenecks and optimize resource allocation.
Useful tools include:
Linux
htop
free -h
nvidia-smi
Windows
Task Manager
Resource Monitor
macOS
Activity Monitor
These tools can help you verify RAM, CPU, and GPU memory usage while Ollama is running.
9. Use Faster Storage
Although models are loaded into memory for inference, storage speed affects model loading times.
Recommended storage options:
NVMe SSD (Best)
SATA SSD (Good)
HDD (Least Recommended)
Faster storage reduces startup and model-switching delays.
10. Optimize the Operating System
System-level optimizations can improve memory availability.
Suggestions include:
Disable unnecessary startup programs.
Stop unused background services.
Keep GPU drivers up to date.
Maintain sufficient free disk space for virtual memory.
Use a 64-bit operating system.
11. Prefer Efficient Model Variants
Many models are available in multiple sizes and quantization formats.
Examples:
3B instead of 7B for lightweight tasks
7B instead of 13B when hardware is limited
Quantized versions instead of full-precision models
Choosing the smallest model that meets your quality requirements is often the most effective optimization.
12. Minimize Memory Fragmentation
Long-running systems may experience memory fragmentation, reducing the amount of contiguous free memory.
To mitigate this:
Restart Ollama periodically if memory usage continues to grow.
Reboot the system occasionally on long-lived workstations or servers.
Avoid repeatedly loading and unloading numerous large models in quick succession.
Example Optimization Scenarios
Hardware
Recommended Configuration
8 GB RAM (CPU only)
3B Q4 model
16 GB RAM
7B Q4 model
RTX 3060 (12 GB VRAM)
7B Q4 or 13B Q4
RTX 4090 (24 GB VRAM)
13B–32B quantized models
Apple Silicon (32 GB Unified Memory)
13B–30B quantized models, depending on available unified memory
Best Practices Checklist
Use quantized models (Q4 or Q5) for the best balance of memory and quality.
Select a model size that comfortably fits your hardware.
Keep models fully in GPU memory whenever possible.
Close unnecessary applications before starting inference.
Use SSD or NVMe storage for faster model loading.
Monitor RAM and VRAM usage during inference.
Avoid loading multiple large models simultaneously.
Use the smallest practical context window.
Keep your operating system and GPU drivers up to date.
Conclusion
Memory optimization in Ollama is primarily about balancing model size,
quantization, available RAM/VRAM, and context length. For most users, running a
Q4-quantized model that fits entirely within available GPU memory provides the best combination of speed, memory efficiency, and response quality. By selecting appropriate models, minimizing background resource usage, and monitoring system memory, you can achieve smoother inference and make the most of your hardware.
Markdown for AI
A clean, structured version of this page for AI assistants and LLMs.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy.
Efficient memory management is essential when running large language models (LLMs) with Ollama. Since models can consume several gigabytes of RAM or VRAM, optimizing memory usage improves performance, reduces loading times, and allows larger models to run on limited hardware.
Why Memory Optimization Matters
LLMs store billions of parameters in memory during inference. Insufficient memory can lead to:
Optimizing memory usage helps maximize the performance of your available hardware.
1. Use Quantized Models
Quantization reduces the precision of model weights (for example, from 16-bit floating point to 4-bit or 5-bit integers), significantly lowering memory requirements with only a small impact on model quality.
Common Quantization Levels
Recommendation: For most users, Q4_K_M provides an excellent balance between memory usage and response quality.
2. Choose an Appropriate Model Size
Larger models require substantially more memory.
Running a model that fits comfortably within your available memory generally provides the best performance.
3. Keep Models Fully in VRAM
If you're using a GPU, aim to keep the entire model in VRAM.
Benefits:
If VRAM is insufficient, Ollama may offload portions of the model to system RAM, which can significantly reduce throughput.
4. Close Unnecessary Applications
Freeing system resources before running Ollama can make a noticeable difference.
Close applications that consume large amounts of RAM or VRAM, such as:
5. Increase Available System RAM
When running models primarily on the CPU, sufficient RAM is critical.
General recommendations:
Additional RAM also benefits systems where models are partially offloaded from GPU memory.
6. Avoid Running Multiple Large Models Simultaneously
Each loaded model consumes memory independently.
Instead of running several large models at once:
7. Select an Appropriate Context Window
The context window determines how much conversation history the model retains.
Larger context windows require more memory.
Example:
Use the smallest context size that satisfies your application's requirements.
8. Monitor Memory Usage
Monitoring helps identify bottlenecks and optimize resource allocation.
Useful tools include:
Linux
Windows
macOS
These tools can help you verify RAM, CPU, and GPU memory usage while Ollama is running.
9. Use Faster Storage
Although models are loaded into memory for inference, storage speed affects model loading times.
Recommended storage options:
Faster storage reduces startup and model-switching delays.
10. Optimize the Operating System
System-level optimizations can improve memory availability.
Suggestions include:
11. Prefer Efficient Model Variants
Many models are available in multiple sizes and quantization formats.
Examples:
Choosing the smallest model that meets your quality requirements is often the most effective optimization.
12. Minimize Memory Fragmentation
Long-running systems may experience memory fragmentation, reducing the amount of contiguous free memory.
To mitigate this:
Example Optimization Scenarios
Best Practices Checklist
Conclusion
Memory optimization in Ollama is primarily about balancing model size, quantization, available RAM/VRAM, and context length. For most users, running a Q4-quantized model that fits entirely within available GPU memory provides the best combination of speed, memory efficiency, and response quality. By selecting appropriate models, minimizing background resource usage, and monitoring system memory, you can achieve smoother inference and make the most of your hardware.