---
title: "How much RAM, CPU and disk does a VPS need: a sizing table"
description: "How much RAM, vCPU and disk space a VPS needs for a website, WordPress, a store, a bot, a VPN, Docker, a database, a game server or an LLM, and how to spot shortages."
url: https://tihost.io/en/blog/how-much-ram-vps
language: en
section: "Basics"
published: 2026-10-05
updated: 2026-10-05
publisher: Tihost (https://tihost.io)
---

# How much RAM, CPU and disk does a VPS need: a sizing table

> **In short:** A Telegram bot, a VPN or a landing page runs fine on 1 vCPU and 2 GB of RAM, WordPress and a small Docker stack on 2 vCPU and 4 GB, an online store or CI on 4 vCPU and 8 GB, databases and modded game servers need 8 GB and up, and a local LLM on the CPU needs 16 GB or more. Size the disk 30-50% above your current data and judge memory by the available column of `free -h`.

**Key takeaways:**

- A Telegram bot, a WireGuard VPN or an nginx landing page runs on a VPS with 1 vCPU and 2 GB of RAM: such services use tens to hundreds of megabytes of memory.
- WordPress with MySQL on the same server and a small Docker stack are comfortable on 2 vCPU and 4 GB of RAM; an online store or a stack of 5-10 containers needs 4 vCPU and 8 GB.
- A database needs enough memory to keep its working set in cache: for PostgreSQL or MySQL with tens of gigabytes of data that means 8-16 GB of RAM.
- A memory shortage on Linux shows up as a low available column in `free -h`, swap in constant use and Out of memory lines in the kernel log (`dmesg`, `journalctl -k`).
- Tihost offers nine VPS configurations - from 1 vCPU / 2 GB / 40 GB NVMe at $4.00 to 16 vCPU / 32 GB / 450 GB NVMe per month.

## How many resources do typical workloads need?

The figures below are starting points for one project on a Linux server without a desktop. Real needs depend on traffic, code and data size, so start with the suggested configuration and watch the actual load for the first week or two.

| Workload | vCPU | RAM | Disk | Tihost configuration |
| --- | --- | --- | --- | --- |
| Landing page, static site on nginx | 1 | 1-2 GB | 10-20 GB | 1 vCPU / 2 GB |
| Telegram bot in Python or Node.js | 1 | 0.5-2 GB | 10-20 GB | 1 vCPU / 2 GB |
| VPN (WireGuard, OpenVPN) for a few people | 1 | 0.5-1 GB | 10 GB | 1 vCPU / 2 GB |
| WordPress or a blog with MySQL on the same server | 1-2 | 2-4 GB | 20-40 GB | 2 vCPU / 4 GB |
| Online store (WooCommerce, OpenCart, Magento) | 2-4 | 4-8 GB | 40-80 GB | 4 vCPU / 8 GB |
| Docker stack: app, database, Redis, proxy | 2-4 | 4-8 GB | 40-80 GB | 2 vCPU / 4 GB or 4 vCPU / 8 GB |
| PostgreSQL or MySQL with tens of GB of data | 4-8 | 8-16 GB | Data × 2-3 | 6 vCPU / 12 GB or 8 vCPU / 16 GB |
| Minecraft server (Paper) for 10-20 players | 2-4 | 4-8 GB | 20-40 GB | 4 vCPU / 8 GB |
| CI runner, project builds | 4-8 | 8-12 GB | 80-150 GB | 8 vCPU / 12 GB |
| 7-8B LLM via Ollama on the CPU | 8+ | 16 GB | 30-50 GB | 8 vCPU / 16 GB and up |

*Linux figures. Windows Server adds roughly 2-4 GB of RAM and 20-30 GB of disk to any row.*

## How much RAM does a server need?

RAM is the main limit of a VPS: when it runs out, the server does not slow down gracefully, it starts killing processes. Ubuntu or Debian without a desktop takes a few hundred megabytes; the rest goes to your applications. Add up what each service uses and put 25-30% on top for peaks and the file system cache:

- nginx serving static files - tens of megabytes;
- a bot or API in Python / Node.js - usually 100-500 MB per process;
- PHP-FPM for WordPress - 50-100 MB per worker, typically 5-20 workers;
- MySQL or PostgreSQL - as much as you give them for cache (`innodb_buffer_pool_size`, `shared_buffers`);
- a Minecraft server - whatever `-Xmx` says, plus 1-2 GB for the JVM itself and the OS.

Swap (paging space on disk) saves you from a sudden crash during a short spike but does not replace memory: if swap is in use all the time, the server needs a plan with more RAM. How to add 2 GB of swap is in the [first VPS setup guide](https://tihost.io/en/blog/vps-first-setup).

## How many cores (vCPU) do you need?

Most web workloads are fine on 1-2 vCPU: websites and bots spend more time waiting for the network and the database than computing. Cores become the bottleneck for parallel or long-running computation: code builds, video and image compression, game servers, language model inference. A vCPU is a host CPU thread assigned to your virtual machine; at Tihost the hosts run the [AMD Ryzen 9 5950X and 9950X](https://tihost.io/en/blog/amd-ryzen-9-5950x-vs-9950x), with the high per-core clock that matters for single-threaded work such as Minecraft and PHP.

## How much disk space does a VPS need?

A Linux system with updates takes 3-5 GB; everything else is your data, logs and images. Plan 30-50% headroom above your current data and do not run the disk above 80-85% full: databases and Docker stop when space runs out. Three things eat disk space quietly:

- Docker images and logs - cap the logs and prune old images as shown in the [Docker article](https://tihost.io/en/blog/install-docker-ubuntu-debian);
- systemd and application logs in `/var/log`;
- local backups - keep them on another server, see the [backup guide](https://tihost.io/en/blog/vps-backup).

Disk type matters as much as size: databases and builds run noticeably faster on NVMe than on SATA SSD - the difference is covered in [NVMe vs SSD](https://tihost.io/en/blog/nvme-vs-ssd). Every Tihost plan uses NVMe.

## How do you tell a VPS is short on resources?

Start with four commands: memory, core count, load average and free disk space.

```bash
free -h
nproc
uptime
df -h /
```

- `free -h` - look at the **available** column, not free: Linux uses idle memory for cache and hands it back on demand. If available is below 10-15% of total and the Swap line keeps growing, memory is short.
- `uptime` - three load average values for 1, 5 and 15 minutes. If they stay above the core count from `nproc` for long, the CPU is not keeping up.
- `df -h /` - how full the root partition is; above 85% it is time to clean up or grow.

To see which process uses the memory and CPU, open `htop`: sort by MEM% or CPU% with F6. The `st` (steal) column in `top` shows how long the vCPU waited for the host; values constantly above 5-10% are worth raising with your provider's support.

```bash
sudo apt install -y htop
htop
```

The most reliable sign of a memory shortage is the OOM killer: the Linux kernel forcibly terminates a process that ran out of memory and logs it. If the commands below find anything, the service needs more RAM or a cap on its usage:

```bash
sudo dmesg -T | grep -i -E "out of memory|oom-kill"
sudo journalctl -k --since "7 days ago" | grep -i "out of memory"
```

> Commands are checked on Ubuntu 22.04/24.04 and Debian 12. At Tihost, CPU, memory and disk load are also visible in the web panel and the Telegram bot @tihost_bot - without logging in to the server.

## When should you move to a bigger plan?

- The OOM killer fired at least once in a week, or swap is used constantly rather than only during peaks.
- Load average stays above the vCPU count at peak hours, and pages or bot replies visibly slow down.
- The disk is more than 80-85% full even after clearing logs and old images.
- A second project with its own database has moved onto the server.

If memory runs out while the CPU is idle, pick a configuration with more RAM and the same cores: for example, from 4 vCPU / 4 GB to 4 vCPU / 8 GB. If you hit the cores, go from 6 vCPU / 12 GB to 8 vCPU / 12 GB. Every line is covered in the [Starter](https://tihost.io/en/blog/starter-vps), [Advanced](https://tihost.io/en/blog/advanced-vps) and [Power](https://tihost.io/en/blog/power-vps) articles.

## Tihost VPS configurations

| Line | Configuration | Germany | Finland | Poland |
| --- | --- | --- | --- | --- |
| Starter | 1 vCPU / 2 GB RAM / 40 GB NVMe | $4.00 | $4.00 | $5.00 |
| Starter | 2 vCPU / 4 GB RAM / 80 GB NVMe | $7.70 | $7.70 | $9.60 |
| Starter | 4 vCPU / 4 GB RAM / 140 GB NVMe | $12.30 | $12.30 | $15.40 |
| Advanced | 4 vCPU / 8 GB RAM / 180 GB NVMe | $15.40 | $15.40 | $19.30 |
| Advanced | 6 vCPU / 12 GB RAM / 240 GB NVMe | $24.00 | $24.00 | $30.00 |
| Advanced | 8 vCPU / 12 GB RAM / 260 GB NVMe | $28.00 | $28.00 | $35.00 |
| Power | 8 vCPU / 16 GB RAM / 300 GB NVMe | $32.00 | $32.00 | $40.00 |
| Power | 12 vCPU / 24 GB RAM / 350 GB NVMe | $49.00 | $49.00 | $61.00 |
| Power | 16 vCPU / 32 GB RAM / 450 GB NVMe | - | - | $77.50 |

*Price per 30 days, USD. A dash means the configuration is not sold in that location.*

The most affordable configuration is 1 vCPU / 2 GB at $4.00 per month; for LLMs and large databases there are 12 vCPU / 24 GB at $49.00 and 16 vCPU / 32 GB at $77.50 in Poland. A server is deployed in about 2 minutes, so starting small and ordering the next size once the load proves it is a sound strategy. The full comparison is in the [plans overview](https://tihost.io/en/blog/vps-plans-comparison).

**Launch a server in 2 minutes.** AMD Ryzen 9, NVMe and DDoS protection in Germany, Finland and Poland. Pay with crypto or card. [Order a Server](https://tihost.io/login)

## FAQ

### How much RAM does a WordPress site need?

A WordPress site with MySQL on the same server needs 2 GB of RAM at low traffic and 4 GB for thousands of visitors a day or heavy plugins. Page caching (for example in nginx) cuts memory load noticeably.

### Is 1 GB of RAM enough for a VPS?

1 GB of RAM is enough for Linux without a desktop running one light service - a VPN, a bot or a static site. A database, a Docker stack or WordPress needs 2-4 GB, otherwise the OOM killer will terminate processes.

### How much memory does a Telegram bot need on a VPS?

A Telegram bot in Python or Node.js usually takes 100-500 MB of RAM, so a VPS with 1 vCPU and 2 GB is enough even for several bots. It needs more if the bot processes media files or holds a large database.

### What matters more for a server - cores or memory?

For websites, bots and databases memory usually matters more: processes crash when it runs out. Cores decide the outcome for code builds, media compression, game servers and language models on the CPU.

### How do I check free memory on a Linux server?

The `free -h` command shows memory in gigabytes; the available column is what applications can still take without pushing data to swap. `htop` lists processes by memory use.

### Does a VPS need swap?

1-2 GB of swap is a useful safety net against crashes during short memory spikes. Swap that stays in use all the time means the server is short on RAM and needs a configuration with more memory.

---

Updated 2026-10-05 · https://tihost.io/en/blog/how-much-ram-vps
