Quick answer
Is a dedicated vCPU a core or a thread on a VPS?
A dedicated vCPU is one hardware thread, not a core. At Cobaltfell, both threads of each physical core go to the same VPS, so 2 vCPU make one whole core and Fell 16 holds 8 cores (rule as of 2 November 2026). To size a plan, count the work that runs at the same moment: one busy process uses about one vCPU, a parallel build uses all of them.
How many physical cores does each plan hold?
| Plan | Dedicated vCPU (threads) | Whole physical cores | RAM | RAM per vCPU |
|---|---|---|---|---|
| Fell 2 | 2 | 1 | 4 GB | 2 GB |
| Fell 4 | 4 | 2 | 8 GB | 2 GB |
| Fell 8 | 8 | 4 | 16 GB | 2 GB |
| Fell 16 | 16 | 8 | 32 GB | 2 GB |
Is a dedicated vCPU a physical core or a thread?
A vCPU is one hardware thread of the host processor; a physical core runs two of them. Server and desktop processors run two threads per core through simultaneous multithreading (SMT). AMD's specification pages show it: a Ryzen 9 9950X has 16 cores and 32 threads, an EPYC 9554 has 64 cores and 128 threads. A host that sells by the vCPU sells those threads.
Cobaltfell's written rule: A vCPU is one hardware thread of the host processor. Yours are pinned one to one to your VPS and never lent to another customer, and the two threads of a physical core stay together, so every 2 vCPU make one whole core that no neighbour shares.
A Fell 4 is therefore two complete cores, not four halves taken from four different cores. Counted the way a processor vendor counts, every plan holds half as many physical cores as it has vCPU.
Why should both threads of a core belong to the same VPS?
Two threads of one core share that core's execution units and private caches, so a busy neighbour on the sibling thread slows you down without any steal time being recorded. Nothing is taken by the hypervisor in that case; the core is simply full.
Giving both siblings to one VPS removes that coupling. The two threads still compete, but only with your own work, which you can see and schedule. It also explains why 2 vCPU deliver less than 2 whole cores: the pair shares one core's resources, and the gain from the second thread depends on the code it runs. libvirt's vcpupin setting, which ties each virtual CPU to a chosen host CPU, keeps the rule in place over time.
What do other hosts mean by a vCPU?
According to Cobaltfell's survey of 2 November 2026, 22 of the 51 hosts that take crypto without an ID check call a plan's CPU dedicated, and only 2 of those 22 say how their cores map to threads: Cherry Servers and LiteServer. The others write "core", "vCore" or "vCPU" without a definition. Where a host says nothing, read one vCPU as one thread, possibly paired with another customer's thread on the same core. The table quotes what each source wrote; the wider comparison is in what is the difference between a shared and a dedicated vCPU.
| Host | What its own page says a vCPU or core is | Thread pairing stated? |
|---|---|---|
| DigitalOcean | A unit of processing power equal to a single hyper-thread on a processor core | ✗ |
| Amazon EC2 | Each SMT thread is one vCPU; an m5.xlarge has 2 cores and 2 threads per core, so 4 vCPU | ✓ |
| Cherry Servers (Premium and Performance VDS) | 4 vCores sit on 2 physical cores, and both threads of each core go to the same customer | ✓ |
| VPSLab (Ryzen VPS) | "vCores"; the page does not say whether a vCore is a physical core or a thread | ✗ |
| Hiddence (Ryzen 9 9950X line) | "vCore", not defined as a core or a thread | ✗ |
| HOSTKEY (vds.ryzen) | "2 cores of AMD Ryzen 9 7950X", without saying whether a core means a thread | ✗ |
| Cobaltfell | One vCPU is one thread; both threads of a core go to the same VPS | ✓ |
Prices checked on
How do I see cores and threads from inside my VPS?
nproc gives the vCPU count; lscpu gives the topology the hypervisor chooses to present, which is a label and not proof. libvirt describes its topology element as the requested topology of the virtual CPU provided to the guest. The host decides what a VPS is shown, and it does not have to mirror the real pairing underneath: a VPS can report one thread per core while its threads are sibling pairs, or the reverse.
The evidence of a dedicated vCPU is behavioural: steal time that stays near zero under load, and the same benchmark score at noon and at midnight. The commands are explained in what is CPU steal time and how do I check it on my VPS.
# vCPU available to you
nproc
# topology as presented to the VPS, plus the processor model
lscpu | grep -E '^CPU\(s\)|Thread\(s\) per core|Core\(s\) per socket|Socket\(s\)|Model name'
# which vCPU the guest kernel treats as siblings of one core
grep . /sys/devices/system/cpu/cpu*/topology/thread_siblings_list
# 1, 5 and 15-minute load averages, to compare with nproc
uptimeHow many vCPU do I need?
Size a VPS by the tasks that run at the same instant, not by the tasks that exist. On a server you already run, compare the load average from uptime with the count from nproc during your busiest hour. A load that stays above the vCPU count means tasks are queuing for a turn.
Most tools pick their parallelism from the vCPU count on their own, so each workload has its own counter:
| Workload | What decides the vCPU it uses | Starting plan |
|---|---|---|
| CI jobs and compiles | Jobs at once, times the -j of each build; cargo defaults to every logical CPU | Fell 4 for two parallel jobs |
| PostgreSQL | One backend process per connection; count the queries running at the same moment | Fell 2 for one application |
| Headless Chrome | Browsers rendering at once; Playwright Test starts one worker per two logical cores by default | Fell 4 for two browsers |
| FFmpeg encoding | One encode can fill every vCPU; x265 sizes its thread pool from the CPU count by default | Fell 8 for a steady queue |
| LLM inference on CPU | RAM decides which model fits; generation keeps every thread it is given busy | Fell 8 or Fell 16 |
| A single-process app | One process uses about one vCPU however many the plan has | Fell 2 |
Two of these workloads have their own sizing guides: what VPS a GitLab Runner or CI build needs and how much CPU and RAM PostgreSQL needs on a VPS. Plan prices are listed under how much a dedicated-core VPS costs.
When do more vCPU stop helping?
More vCPU speed up only work that can be split. A single-threaded program, such as one Node.js process, runs on one thread on every plan; its speed comes from the clock and the core architecture. The other ceiling is memory: every parallel job carries its own RAM, and Cobaltfell plans keep 2 GB per vCPU. A workload that needs more memory per thread runs better with fewer jobs than with cores it cannot feed.
What other questions do people ask about vCPU, cores and threads?
What does 16 vCPU mean on a VPS?
Sixteen hardware threads. At Cobaltfell that is Fell 16: 8 physical cores, each with both of its threads held by one VPS. At a host that does not state its rule, 16 vCPU can be 16 threads spread over more than 8 cores, with other customers on the sibling threads.
Is 2 vCPU enough, or do I need 4?
Two vCPU suit one always-busy process with room for the system: a small database, an API, one CI job at a time. Four suit two heavy tasks that overlap, such as a build running while the app it deploys keeps serving, or two scraping browsers.
Are two vCPU as fast as two physical cores?
No. Two sibling threads share one core's execution units and caches, so together they deliver less than two whole cores. The size of the gap depends on the code: a compile with many cache misses gains more from the second thread than a tight numeric loop does.
Which processor do Cobaltfell's threads come from?
Every plan runs on AMD EPYC 9004/9005 server processors (Zen 4 / Zen 5), a family first launched in November 2022; a VPS is never moved to an older node without telling you first. lscpu | grep 'Model name' shows the model the VPS is given.
Sources (14)
- AMD Ryzen 9 9950X specifications — AMD (checked 2026-11-02)
- AMD EPYC 9554 specifications — AMD (checked 2026-11-02)
- Choosing the right Droplet plan (vCPU definition) docs.digitalocean.com/products/droplets/concepts/choosing-a-plan — DigitalOcean (checked 2026-11-02)
- CPU options for Amazon EC2 instances — Amazon Web Services (checked 2026-11-02)
- Cherry Servers virtual servers pricing (Premium and Performance VDS) cherryservers.com/pricing/virtual-servers — Cherry Servers (checked 2026-11-02)
- VPSLab Ryzen VPS vpslab.cloud/ryzen-vps — VPSLab (checked 2026-11-02)
- Hiddence virtual servers hiddence.net — Hiddence (checked 2026-11-02)
- HOSTKEY VDS with dedicated vCPU hostkey.com/vps/vds — HOSTKEY (checked 2026-11-02)
- libvirt domain XML format: CPU topology and vcpupin — libvirt (checked 2026-11-02)
- CPU topology in sysfs — The Linux kernel documentation (checked 2026-11-02)
- lscpu(1) manual page — man7.org / util-linux (checked 2026-11-02)
- cargo build: the --jobs option — The Rust Project (checked 2026-11-02)
- Playwright TestConfig: workers — Microsoft Playwright (checked 2026-11-02)
- x265 threading — x265 project (checked 2026-11-02)