Rough Sizes by Workload
| Workload | vCPU | Memory | Notes |
|---|---|---|---|
| Static website, VPN, small tools | 1 | 1 GB | Almost anything is enough; disk and network matter more. |
| WordPress or a PHP site, modest traffic | 2 | 2–4 GB | PHP workers plus MySQL or MariaDB on the same server. |
| Busy WordPress or WooCommerce | 4 | 8 GB | More PHP workers, a bigger database cache, maybe Redis. |
| Node.js, Python or Go app with a database | 2–4 | 4–8 GB | Depends on the app; the database usually wants the most memory. |
| Docker Compose stack of several services | 4 | 8 GB | Add up each container's use with docker stats. |
| Dedicated database server | 4+ | 8 GB+ | Memory is cache: the closer to the working set, the fewer disk reads. |
| Minecraft Java, a few friends | 2–4 | 4–6 GB | Modpacks and more players need 8 GB or more. |
| Windows Server | 2–4 | 4–8 GB | Windows itself uses about 2 GB before you start anything. |
These are starting points for modest traffic, not limits. A well-cached site can serve far more on the same hardware, and a heavy plugin or an unindexed query can need far more.
Measure Memory
free -h ps aux --sort=-rss | head -10 # the biggest processes, by memory docker stats --no-stream # per container, if you use Docker
In free -h, look at available, not free. Linux fills spare memory with disk cache and gives it back on demand, so a low “free” is normal. Low “available”, plus swap in use, means the server is short of memory.
Measure CPU
nproc # how many vCPU you have uptime # load average over 1, 5 and 15 minutes vmstat 5 # "us"+"sy" is CPU in use, "wa" is waiting for disk
A load average that stays above the number of vCPU means work is queuing. The CPU chart on your server's page in the dashboard shows the same over 24 hours, 7 days or 30 days, which is the view you want before deciding to resize.
Measure Disk Activity
sudo apt install -y sysstat iostat -x 5 # %util near 100 for long stretches means the disk is the bottleneck
High disk activity on a database server is often a memory problem in disguise: with more memory, more of the data stays cached and fewer reads reach the disk.
When to Go Bigger
Move to a bigger plan when, over a normal week, available memory stays low and swap stays in use, or load stays above your vCPU count. If the largest VPS shows the same signs, a dedicated server is the next step; see VPS vs dedicated server. A short-term spike can also be absorbed by adding swap while you decide.