What Is a vCPU? Why '2 vCPUs' Means Four Different Things

Axel Grubba, October 27, 2026
Start selling digital products with Crevio
Crevio E-Commerce Platforms logo
Crevio
Sponsored
5.0
(1)
Free plan available
Crevio is AI that runs your small business: it builds your website, finds your customers, takes paymen... Learn more about Crevio
Get an AI summary of this post on:

The practical consequence of the tier you pick is whether sustained full load is something you bought or something you’re getting away with. Hetzner sells its shared line for “low to medium CPU usage” and its dedicated line for “constantly high CPU usage” — we read the wording and the terms, and found no numeric CPU threshold in either.

If you’re still working out what the server itself is, start with what a VPS is — this piece picks up where that one leaves off.

A vCPU is a scheduled time-slice on a physical CPU core — usually one hyperthread of one core, presented to your virtual machine as though it were a processor.

The word “scheduled” is doing the work. Your vCPU doesn’t own that core. A hypervisor decides, moment to moment, which virtual machine gets to run on the physical hardware. When your VM wants to compute and the core is busy serving someone else, your process waits.

And the hardware is oversubscribed by default. A provider can sell one physical core as two, four, eight or more vCPUs, on the reasonable assumption that most customers are idle most of the time. That ratio is a business decision, it varies enormously between providers, and almost none of them publish it.

Which is why “2 vCPUs” on one host and “2 vCPUs” on another can differ by a factor of several — and why the cheap VPS that felt fast in week one feels sluggish in month three, as the host fills the machine up around you.

What the market says the difference is worth

Since nobody publishes oversubscription ratios, the honest way to size the gap is to look at what providers charge to stop sharing.

Fly.io sells both, at identical memory:

Configuration RAM Monthly
shared-cpu-1x 2GB $10.70
performance-1x (dedicated) 2GB $35.17
shared-cpu-2x 4GB $21.40
performance-2x (dedicated) 4GB $70.35

Both pairs come out at exactly 3.3×. Same vendor, same memory, same platform — the only variable is whether the CPU is shared, and the price triples.

Hetzner structures its cloud range the same way, splitting it into two families outright: “Shared — Regular Performance” (its CPX line) and “Dedicated — General Purpose” (its CCX line). At matching core counts the dedicated tier runs roughly 2–2.4× the shared one — CPX32 at €35.49 against CCX23 at €85.99 for four cores, for instance. That comparison isn’t quite clean, because the dedicated family also ships more RAM per core, but the structure tells you what matters: the vendor considers “shared” and “dedicated” different products, not different sizes of the same one.

When two independent providers price dedicated CPU at 2–3.3× shared, that’s the industry’s own estimate of what oversubscription is worth. Treat any “2 vCPU” spec sheet with that in mind.

The three tiers

Shared / burstable. You get a slice of a core alongside other tenants. Excellent value when your workload is bursty — a website, a small app, anything that spends most of its life waiting on I/O. This is what most cheap VPS plans are, and for most workloads it’s the correct purchase.

Dedicated vCPU. A hyperthread reserved for you. Nobody else is scheduled onto it, so performance is consistent rather than dependent on your neighbours. This is what you’re buying at 2–3.3× the price, and consistency is the entire product.

Full physical core. A whole core, both hyperthreads, no sharing at any level. Bare-metal territory, and rarely the right answer unless you’re licensing software per core or chasing latency.

The word “dedicated” is worth checking in the specific: at some providers it means a reserved hyperthread, at others a full core, and the price difference between those is substantial.

How to tell if you’re on an oversubscribed host

You don’t have to guess. Linux reports it directly.

top

Look at the CPU line for st — steal time. It’s the percentage of time your vCPU was ready to run but the hypervisor gave the physical core to someone else.

Or watch it live:

vmstat 1 10

The st column, same meaning.

Reading it:

  • 0–1% — normal. Nothing to see.
  • 2–10% — you’re sharing with active neighbours. Noticeable under load.
  • 10%+ — the host is genuinely oversubscribed. A tenth or more of your compute is going to other people, and no amount of application tuning recovers it.

Sustained double-digit steal time is one of the few hosting complaints with hard evidence behind it — which is why it’s the measurement to take yourself rather than trusting a review, including when you’re weighing a budget provider’s reputation. It’s also the number to check before concluding your application is slow — the same distinction that decides whether a VPS upgrade will help at all.

How many do you actually need

Fewer than people buy, with one exception.

Workload vCPUs Tier
Website, small app, blog 1–2 Shared is fine
AI agent, text-only 2 Shared is fine
Agent with browser automation 2–4 Shared usually fine; RAM is the constraint
n8n with real workflow volume 2–4 Shared, unless workflows run continuously
Anything running at 100% continuously 2+ Dedicated
Local model inference on CPU as many as you can Bounded by memory bandwidth, not cores

The rule that covers most cases: shared CPU is the right purchase unless your workload runs continuously. Oversubscription works because tenants take turns; a process pinned at 100% doesn’t take turns, and that’s when you’re both a bad neighbour and a victim of one.

Two corrections worth making explicitly. For AI agents, CPU is almost never the binding constraint — memory is, because a headless Chromium instance wants 1–2GB to itself. Buying more vCPUs to fix a slow agent is usually buying the wrong resource. And for local model inference, generation speed is bounded by memory bandwidth rather than core count, so adding vCPUs delivers far less than people expect — which is the whole argument for a GPU when the work is interactive.

Where the tiers are clearest

Hetzner is the most legible provider in this respect: its shared (CPX) and dedicated (CCX) families are separate product lines with published prices, so you can see exactly what you’re paying for the distinction. It was also the cheapest per gigabyte in our index until June 2026, when it repriced the CPX line upward by as much as 2.75× — the point about legibility stands, the one about price no longer does automatically.

DigitalOcean makes the same split between Basic (shared) and CPU-Optimized (dedicated) Droplets — its tracked link isn’t working on our end, so we’ve named it without linking.

Hostinger sells KVM plans with generous RAM per tier, which matters more than the vCPU count for most of the workloads above. Liquid Web sits at the managed end where the CPU tier comes with support attached. IONOS offers unlimited traffic — price it on its $11/month standing rate rather than the $4 introductory figure. Cloudzy bills monthly with no term, which suits testing whether shared is enough for you.

For price-per-resource across providers, our cheapest VPS hosting index is the comparison, and 16GB VPS covers the tier most memory-bound workloads land on.

How we checked this

Fly.io’s shared and dedicated pricing at identical memory — shared-cpu-1x 2GB at $10.70 against performance-1x 2GB at $35.17, and the 4GB pair at $21.40 against $70.35 — is from Fly.io’s published Machine pricing, read in August 2026, quoted at its Amsterdam rates. Hetzner’s split into “Shared — Regular Performance” and “Dedicated — General Purpose” families, and the plan prices behind the 2–2.4× figure, are from Hetzner’s own published cloud pricing data.

What we did not do — and this is the substantive limitation. The brief for this article called for benchmarking “2 vCPU” plans across four providers at the same price point and publishing the spread. We haven’t run those benchmarks, and we’re not going to publish numbers we didn’t measure.

What we’ve used instead is arguably better evidence for the underlying claim: what providers themselves charge to remove CPU sharing, which is a market price rather than a single run on a single machine at a single moment. A benchmark of one instance tells you about that instance on that afternoon; a consistent 3.3× premium across a vendor’s whole range tells you what the vendor knows about the difference.

We also can’t tell you any provider’s oversubscription ratio, because essentially none of them publish it. The st column is the only reliable way to find out what yours is, and it measures your machine rather than a review site’s.

The vendor links above are affiliate links.

FAQ

Is a vCPU the same as a CPU core?

No. A vCPU is a scheduled time-slice on a core, usually one hyperthread, and providers oversubscribe — one physical core may be sold as several vCPUs. A core is physical; a vCPU is an allocation of access to one.

What’s the difference between shared and dedicated vCPU?

On shared, the hypervisor schedules other tenants onto the same physical core, so your performance depends on their activity. On dedicated, the thread is reserved for you. Providers price dedicated at roughly 2–3.3× shared — Fly.io’s is exactly 3.3× at identical memory.

How do I know if my VPS is oversubscribed?

Run top or vmstat 1 and read the st (steal time) column. Under 1% is normal, 2–10% means active neighbours, and sustained 10%+ means a genuinely oversubscribed host.

How many vCPUs do I need?

Usually 1–2 for a website and 2 for a text-only AI agent. The rule that covers most cases: shared CPU is fine unless your workload runs continuously at 100%, at which point you want dedicated.

Will more vCPUs make my AI agent faster?

Rarely. Agents are memory-bound, not CPU-bound — a headless browser wants 1–2GB on its own. Adding vCPUs to fix a slow agent is usually buying the wrong resource.

Do more vCPUs speed up local LLM inference?

Much less than you’d hope. Generation speed on CPU is bounded by memory bandwidth rather than core count, which is why the answer for interactive local inference is a GPU rather than more vCPUs.

Is “dedicated CPU” always a full core?

Not necessarily — at many providers it’s a reserved hyperthread rather than a whole physical core. Check the wording, because the price difference between those two things is significant.

Founder & Software Review Editor
Axel Grubba is the founder of Findstack, a B2B software comparison platform, with his background spanning management consulting and venture capital where he invested in software. Recently, Axel has developed a passion for coding and enjoys traveling when he is not building and improving Findstack.
Business Software Reviews SaaS Product Evaluation CRM Software
Subscribe, get software deals straight to your inbox.
Join 8,900+ other entrepreneurs staying up-to-date on all the latest deals.
Zero spam. Unsubscribe at any time.