We buy the servers we test with our own money. Some links are affiliate links; they never change a verdict. Disclosure · How we test
The best VPS for Ollama is the cheapest one with enough RAM for your model and four or more fast vCPUs. On our Hetzner CX33 (4 vCPU, 8 GB, 10.27 € a month) Llama 3.2 3B generated 13.5 tokens/s and Llama 3.1 8B 6.3 tokens/s, CPU-only. A 4 GB server runs 3B models but not 8B: Llama 3.1 8B failed on both our 4 GB servers.
Why this matters now: Hetzner changed its cloud prices in 2026, small open models got good enough for real work, and most "best VPS for Ollama" lists still rank hosts without running a single model. We rented five servers, ran the same Ollama benchmark on each and publish every number. For the wider picture of running models on your own server, start at the local AI hub.
Verdict
Rent a Hetzner CX33 (4 vCPU, 8 GB) for Ollama: it ran all three models, was the cheapest per generated token on 3B and 8B, and costs 10.27 € a month. Take the CX43 (8 vCPU, 16 GB) if you want 8B at 9.7 tokens/s; take a 4 GB server only for 1B to 3B models.
Tested in the Lab Hetzner CX23, CX33, CX43, CAX11, CAX21 · Nov 2026
All five servers, all three models
Every server ran Ubuntu 24.04 and Ollama 0.40.14, installed with the official script. Each model is the default tag from the Ollama library, which uses Q4_K_M quantization: the weights are stored in about 4 to 5 bits instead of 16, which is what makes CPU inference practical. Each test asked for a 256-token answer at temperature 0. "Generation tokens/s" is how fast the answer is written (a token is a word or a piece of a word). "Prompt tokens/s" is how fast Ollama reads your input. "RAM used" is total system memory in use with the model loaded, measured with free -m, so it includes the operating system.
| Server | Model | Generation tokens/s | Prompt tokens/s | Load time | RAM used (system) | Note |
|---|---|---|---|---|---|---|
| Hetzner CX232 vCPU · 4 GB · x86_64 | Llama 3.2 1B | 10.3 | 454.0 | 3.5 s | 2,001 MiB | |
| Hetzner CX232 vCPU · 4 GB · x86_64 | Llama 3.2 3B | 5.8 | 325.2 | 8.8 s | 3,002 MiB | |
| Hetzner CX232 vCPU · 4 GB · x86_64 | Llama 3.1 8B | did not run | – | – | – | OOM-killed after ~50 s: Ollama fit check reported it would leave 1698 MiB free, |
| Hetzner CX334 vCPU · 8 GB · x86_64 | Llama 3.2 1B | 23.2 | 1,322.8 | 2.0 s | 2,205 MiB | |
| Hetzner CX334 vCPU · 8 GB · x86_64 | Llama 3.2 3B | 13.5 | 776.5 | 3.7 s | 3,068 MiB | |
| Hetzner CX334 vCPU · 8 GB · x86_64 | Llama 3.1 8B | 6.3 | 258.6 | 10.0 s | 5,941 MiB | |
| Hetzner CX438 vCPU · 15 GB · x86_64 | Llama 3.2 1B | 37.5 | 1,910.9 | 1.7 s | 2,293 MiB | |
| Hetzner CX438 vCPU · 15 GB · x86_64 | Llama 3.2 3B | 21.2 | 1,161.3 | 3.7 s | 3,196 MiB | |
| Hetzner CX438 vCPU · 15 GB · x86_64 | Llama 3.1 8B | 9.7 | 447.4 | 7.9 s | 6,023 MiB | |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | Llama 3.2 1B | 15.0 | 835.5 | 4.8 s | 2,203 MiB | |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | Llama 3.2 3B | 6.5 | 376.4 | 6.0 s | 3,214 MiB | |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | Llama 3.1 8B | did not run | – | – | – | llama-server process has terminated: exit status 1: ggml_aligned_malloc: insuffi |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | Llama 3.2 1B | 26.8 | 1,427.1 | 3.2 s | 2,315 MiB | |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | Llama 3.2 3B | 12.2 | 664.1 | 5.2 s | 3,282 MiB | |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | Llama 3.1 8B | 5.7 | 226.5 | 12.3 s | 5,796 MiB |
Measured by AI Hosting Lab on 2026-11-05 · 5 servers · method · raw data
There is no GPU in any of these servers. Every number on this page is CPU inference through llama.cpp, the engine inside Ollama. If you need 30B or 70B models, a CPU VPS is the wrong tool; read CPU vs GPU for local LLMs first.
Which VPS for which model size
| Model size | Minimum server we measured | Comfortable pick | Skip |
|---|---|---|---|
| 1B (Llama 3.2 1B) | CX23 or CAX11 (2 vCPU, 4 GB) | CAX11 or CX33 | Nothing; every server ran it |
| 3B (Llama 3.2 3B) | CX23 or CAX11 (2 vCPU, 4 GB), tight on RAM | CX33 (4 vCPU, 8 GB) | 4 GB servers if anything else runs beside Ollama |
| 7B to 8B (Llama 3.1 8B) | CX33 or CAX21 (4 vCPU, 8 GB) | CX43 (8 vCPU, 16 GB) | Any 4 GB server |
| 13B and up | Not measured yet | Not measured yet | Do not buy for this without a test |
The 8B row is the one that costs people money. Llama 3.1 8B used 5941 MiB of system RAM on the CX33, 6023 MiB on the CX43 and 5796 MiB on the CAX21. On the CAX11, which has 3805 MiB in total and no swap, Ollama stopped with ggml_aligned_malloc: insufficient memory (attempted to allocate 4402.48 MB). MiB and MB are not the same unit (1 MiB is 1,048,576 bytes, 1 MB is 1,000,000), but the conclusion is the same in both: the model needs more memory than a 4 GB server has. The Intel CX23 failed too, and more deceptively: Ollama loaded the model after its own check estimated 1698 MiB would stay free, and the kernel killed the process about 50 seconds later. Do not trust a 4 GB server with an 8B model because Ollama starts loading it.
Cost per million tokens: the number the price list hides
A faster server can be cheaper per answer even when it costs more per month. To compare, we took each server's measured generation speed and its monthly price from lab.json and asked: if this server generated text nonstop for a 30-day month (2,592,000 seconds), what would one million tokens cost?
| Server | Price / month | Llama 3.2 3B: tokens/s, € per million tokens | Llama 3.1 8B: tokens/s, € per million tokens |
|---|---|---|---|
| CX23 (2 vCPU, 4 GB, Intel) | 6.64 € | 5.8 → 0.44 € | did not run (out of memory) |
| CAX11 (2 vCPU, 4 GB, ARM) | 7.25 € | 6.5 → 0.43 € | did not run (out of memory) |
| CX33 (4 vCPU, 8 GB, AMD) | 10.27 € | 13.5 → 0.29 € | 6.3 → 0.63 € |
| CAX21 (4 vCPU, 8 GB, ARM) | 12.69 € | 12.2 → 0.40 € | 5.7 → 0.86 € |
| CX43 (8 vCPU, 16 GB, AMD) | 19.35 € | 21.2 → 0.35 € | 9.7 → 0.77 € |
This is arithmetic on our measured speeds, not a separate measurement. Real use is never 100 % busy, so your cost per token will be higher; the ranking stays the same because every server pays its full monthly price whether it is busy or idle. The CX33 wins on both models. The CX43 is the fastest, but you pay for speed you only need if someone is waiting on the answer. Change the assumptions yourself here:
For how this compares with paying an API per token, see cost per million tokens: self-hosted vs API.
The five servers, one by one
Hetzner CX33: the default pick
4 vCPU (virtual CPU cores, shared with other customers on the host), 8 GB RAM, AMD EPYC-Rome, 10.27 € a month. Llama 3.2 3B ran at 13.5 tokens/s with 3068 MiB of RAM used, and Llama 3.1 8B at 6.3 tokens/s with 5941 MiB used. Model load times were 3.7 s for 3B and 10 s for 8B.
- Best for: one person or one automation using a 3B model all day, or an 8B model for jobs where nobody watches the text appear.
- Main drawback: 6.3 tokens/s on 8B feels slow in a live chat window.
- Skip it if: you need 8B answers in a chat UI for several users; take the CX43.
Hetzner CX43: the fast one
8 vCPU, 16 GB RAM, AMD EPYC-Rome, 19.35 € a month. The fastest server on every model: 37.5 tokens/s on Llama 3.2 1B, 21.2 on 3B and 9.7 on 8B. Prompt processing on 3B reached 1161.3 tokens/s, so long inputs are read quickly. With 8B loaded, 6023 MiB of 15613 MiB were in use, which leaves room for n8n, a database or a second model.
- Best for: 8B models in interactive use, or Ollama sharing a server with other apps.
- Main drawback: almost double the price of the CX33 for about 1.6 times the 3B speed.
- Skip it if: your jobs run in the background; the CX33 is cheaper per token.
Hetzner CAX21: ARM, 4 vCPU
4 vCPU Ampere (Neoverse-N1 cores), 8 GB RAM, 12.69 € a month. It beat the CX33 on the smallest model (26.8 vs 23.2 tokens/s on Llama 3.2 1B) and lost on the larger ones: 12.2 vs 13.5 on 3B and 5.7 vs 6.3 on 8B. Its 8B load time was the slowest we saw at 12.3 s.
- Best for: people who already run their stack on ARM and mainly use 1B models.
- Main drawback: costs 2.42 € a month more than the CX33 and is slower on 3B and 8B.
- Skip it if: you are choosing fresh for Ollama. The full comparison is in Ollama on ARM servers.
Hetzner CAX11: the best 4 GB server for small models
2 vCPU ARM, 4 GB RAM, 7.25 € a month. Faster than the Intel CX23 on everything that ran: 15 vs 10.3 tokens/s on 1B and 6.5 vs 5.8 on 3B. With 3B loaded it used 3214 of 3805 MiB, leaving 591 MiB for everything else. Llama 3.1 8B did not start.
- Best for: a private 1B or 3B model for one user, on a budget.
- Main drawback: no room for 8B and very little room next to 3B.
- Skip it if: you want to run n8n or a database on the same server as a 3B model.
Hetzner CX23: cheapest, slowest
2 vCPU Intel Xeon (Skylake), 4 GB RAM, 6.64 € a month. The slowest server on every model that ran: 10.3 tokens/s on 1B, 5.8 on 3B, with an 8.8 s load time for 3B. Its single-thread CPU score was 913.87 events/s against 3248.26 on the CAX11 (sysbench, higher is better), about 3.5 times slower. Llama 3.1 8B did not run: the kernel killed it for lack of memory after about 50 seconds.
- Best for: trying Ollama for a few euros, or a 1B model for simple classification jobs.
- Main drawback: older Intel CPU, the weakest prompt speed (325.2 tokens/s on 3B).
- Skip it if: you plan to use Ollama daily. The CAX11 costs 0.61 € more and is faster.
Hetzner prices we used
Prices come from the Hetzner Cloud API for Helsinki, gross including VAT, checked on 5 November 2026. We have no affiliate deal with Hetzner, and it still wins this page.
| Plan | CPU | vCPU | RAM | Disk | Per month excl. VAT | Per month incl. 21% VAT | Per hour incl. VAT |
|---|---|---|---|---|---|---|---|
| CAX11 | arm | 2 | 4 GB | 40 GB | 5.99 € | 7.25 € | 0.0116 € |
| CAX21 | arm | 4 | 8 GB | 80 GB | 10.49 € | 12.69 € | 0.0203 € |
| CAX31 | arm | 8 | 16 GB | 160 GB | 20.99 € | 25.40 € | 0.0407 € |
| CAX41 | arm | 16 | 32 GB | 320 GB | 40.99 € | 49.60 € | 0.0795 € |
| CCX13 | x86 | 2 | 8 GB | 80 GB | 42.99 € | 52.02 € | 0.0834 € |
| CCX23 | x86 | 4 | 16 GB | 160 GB | 85.99 € | 104.05 € | 0.1667 € |
| CCX33 | x86 | 8 | 32 GB | 240 GB | 138.49 € | 167.57 € | 0.2685 € |
| CCX43 | x86 | 16 | 64 GB | 360 GB | 275.99 € | 333.95 € | 0.5352 € |
| CCX53 | x86 | 32 | 128 GB | 600 GB | 533.49 € | 645.52 € | 1.0346 € |
| CCX63 | x86 | 48 | 192 GB | 960 GB | 853.49 € | 1,032.72 € | 1.6550 € |
| CPX11 | x86 | 2 | 2 GB | 40 GB | 5.49 € | 6.64 € | 0.0106 € |
| CPX02 | x86 | 1 | 1 GB | 20 GB | 5.99 € | 7.25 € | 0.0116 € |
| CPX21 | x86 | 3 | 4 GB | 80 GB | 9.49 € | 11.48 € | 0.0184 € |
| CPX12 | x86 | 1 | 2 GB | 40 GB | 11.49 € | 13.90 € | 0.0223 € |
| CPX31 | x86 | 4 | 8 GB | 160 GB | 17.49 € | 21.16 € | 0.0339 € |
| CPX22 | x86 | 2 | 4 GB | 80 GB | 19.49 € | 23.58 € | 0.0378 € |
| CPX41 | x86 | 8 | 16 GB | 240 GB | 32.49 € | 39.31 € | 0.0630 € |
| CPX32 | x86 | 4 | 8 GB | 160 GB | 35.49 € | 42.94 € | 0.0688 € |
| CPX42 | x86 | 8 | 16 GB | 320 GB | 69.49 € | 84.08 € | 0.1348 € |
| CPX51 | x86 | 16 | 32 GB | 360 GB | 70.99 € | 85.90 € | 0.1377 € |
| CPX52 | x86 | 12 | 24 GB | 480 GB | 100.49 € | 121.59 € | 0.1948 € |
| CPX62 | x86 | 16 | 32 GB | 640 GB | 129.99 € | 157.29 € | 0.2520 € |
| CX23 | x86 | 2 | 4 GB | 40 GB | 5.49 € | 6.64 € | 0.0106 € |
| CX33 | x86 | 4 | 8 GB | 80 GB | 8.49 € | 10.27 € | 0.0165 € |
| CX43 | x86 | 8 | 16 GB | 160 GB | 15.99 € | 19.35 € | 0.0310 € |
| CX53 | x86 | 16 | 32 GB | 320 GB | 29.49 € | 35.68 € | 0.0572 € |
From the Hetzner Cloud API, location hel1, checked 2026-11-05. "Incl. VAT" is what our Czech (EU consumer) account pays; businesses and buyers outside the EU usually pay the price excl. VAT. Primary IPv4 is billed separately.
You can rent the CX33 and the others at Hetzner Cloud. For other hosts in the same price range, see Hetzner alternatives.
Other providers: not yet tested in our Lab
We have not run Ollama on these providers yet; testing is scheduled and this page will get their numbers. Until then, here is what their official pricing pages showed on 5 November 2026 for the RAM sizes that matter for Ollama. We make no speed claims for them.
| Provider and plan | vCPU / RAM | Price shown (November 2026) | Regular / renewal price |
|---|---|---|---|
| Hostinger KVM 2 | 2 / 8 GB | $8.79 a month on a 24-month prepaid term | $14.99 a month |
| Hostinger KVM 4 | 4 / 16 GB | $12.99 a month on a 24-month prepaid term | $28.99 a month |
| DigitalOcean Basic Droplet | 4 / 8 GiB | $48 a month | $48 a month (no promo) |
| DigitalOcean Basic Droplet | 8 / 16 GiB | $96 a month | $96 a month (no promo) |
Hostinger's KVM 2 gives 8 GB of RAM, enough on paper for an 8B model, but with 2 vCPU. Our 2 vCPU servers were the slowest at every model size, so we would not assume 8B is quick there; we will measure it. Hostinger says its VPS plans use AMD EPYC processors, but does not name the model per plan. Links: Hostinger VPS, DigitalOcean.
Before you buy: four settings that change what you need
- Context length. Ollama's documentation says it uses a 4096-token context window by default. All our tests ran with that default. A longer context needs more RAM; we have not measured how much yet.
- Parallel requests. The Ollama FAQ gives
OLLAMA_NUM_PARALLELa default of 1 request per model at a time. Our speeds are for one request. Several users at once will share the same CPU. - Keep-alive. Ollama keeps a model in memory for 5 minutes after the last request by default. After that, the next request pays the load time again (3.7 s for 3B on the CX33, 10 s for 8B).
- Other apps. RAM used in our table already includes the operating system. Add your other apps on top. The VPS RAM calculator does the sum.
How we tested
We rented all five servers in Hetzner's Helsinki location on 5 November 2026 and ran the same script on each: the official Ollama installer, then ollama pull and two identical requests to the local API per model. The first request gives the load time and RAM; the second gives the speeds, with the model already in memory. Ollama reports these from its own timers (load_duration, prompt_eval_duration, eval_duration, all in nanoseconds), so we do not time anything by hand. Full commands and the exact numbers are in our Ollama CPU-only performance report, and the general method is on how we test.
What we have not measured yet: models other than Llama, quantizations other than the Ollama default, long prompts, several users at once, and other providers. When we do, the tables above update from the same data file.
Next step: picked a server? Follow our guide to install Ollama on a VPS, with the commands we ran and how to keep port 11434 closed.
Hetzner prices on this page include 21% VAT, as charged to our Czech (EU consumer) account by the Hetzner API on 2026-11-05. Without VAT (businesses, most buyers outside the EU): CX23 5.49 €, CX33 8.49 €, CX43 15.99 €, CAX11 5.99 €, CAX21 10.49 € per month.
FAQ
Can I run Ollama on a VPS without a GPU?
Yes. All our tests ran CPU-only. Llama 3.2 3B generated 13.5 tokens/s on a 4 vCPU Hetzner CX33 and 21.2 tokens/s on the 8 vCPU CX43, which is fine for chat, summaries and automation.
How much RAM does a VPS need for Ollama?
For Llama 3.2 3B, 4 GB works but is tight: system RAM used was 3002 to 3282 MiB with the model loaded. Llama 3.1 8B used 5796 to 6023 MiB on our 8 GB and 16 GB servers and ran out of memory on both 4 GB servers, so plan 8 GB for 7B to 8B models.
What is the cheapest VPS for Ollama?
The cheapest server that ran Llama 3.2 3B was the Hetzner CX23 at 6.64 € a month, at 5.8 tokens/s. Per generated token, the CX33 at 10.27 € a month was cheaper because it is more than twice as fast.
Is an ARM VPS good for Ollama?
It works with the official installer. At 2 vCPU the ARM CAX11 beat the Intel CX23 on every model that ran. At 4 vCPU the AMD CX33 beat the ARM CAX21 on 3B and 8B and costs less.
Did you test Hostinger, DigitalOcean or Vultr?
Not yet. This page compares them only by their official price pages, checked on 5 November 2026. Lab tests for them are scheduled and this page will be updated.
Sources
- Ollama, FAQ (2026)
- Ollama, Linux install docs (2026)
- Ollama, llama3.2 model library page (2026)
- Ollama, llama3.1:8b tag page (2026)
- Ollama, API reference: generate (2026)
- Hostinger, VPS hosting pricing (November 2026)
- DigitalOcean, Droplet pricing (November 2026)
- DataCentreNews UK, Hetzner launches new cloud servers using Arm technology (2023)



