Memory is the most common bottleneck on a WordPress VPS. When there's too little, PHP processes fight for space and the site either slows down or starts throwing errors. When you overpay for too much, you're paying for performance you won't use. In this article we go through how much RAM actually makes sense for WordPress — and above all how to tell, because there's no universal number.
One warning up front: don't be fooled by marketing tables promising "a site for 100,000 visits on 1 GB of RAM". A number like that only holds for an ideal, well-cached site with no demanding plugins. Reality is more varied and memory runs out faster than the price list suggests. So let's look at what really drives consumption.
What consumes memory on WordPress
To estimate your memory needs, it helps to know where it actually goes. On a typical VPS, four groups share the RAM: the operating system, the web server, PHP and the database. Each has a different appetite and each behaves differently as traffic grows.
The operating system and background services
Linux itself with a normal configuration takes roughly 300 to 500 MB before the first page even loads. On top of that come background services — antispam for mail, or monitoring. That's fixed overhead you carry all the time, whether a visitor comes or not. That's why on the smallest 1 GB VPS plans this overhead is so noticeable: less is left for the site itself than you'd expect.
PHP processes — the main variable
Every concurrent request for an uncached page spawns a PHP process that takes typically 40 to 120 MB depending on the number and weight of plugins. The key word is "concurrent" — what matters isn't how many people come per day, but how many the server serves at the same moment. The number of concurrent PHP processes multiplied by their size is what puts the biggest pressure on memory.
These numbers have a direct practical impact: if one PHP process takes 100 MB and you want to handle ten concurrent requests, you need around 1 GB just for PHP — and that's before the system and the database. That's why on dynamic sites memory "dissolves" faster than it seems.
The MySQL database
MySQL keeps buffers in memory for fast queries. On a small site a few hundred MB is enough; on a large catalogue or store it grows into gigabytes. The more memory the database gets, the less it reaches for the disk — and the snappier the site responds. When memory runs short, the database is usually the first to get squeezed, and it shows up as sluggish loading of the admin and the site.
Plugins matter more than visitor count
Bare WordPress with a theme is light. What really drives memory up are page builders (Elementor, Divi), heavy SEO and cache plugins and, above all, WooCommerce. It holds that ten well-written plugins burden memory less than three badly written ones. So before choosing a VPS, look at plugin weight rather than count — and where you can, get rid of inactive ones entirely.
Cache plays a big role too. With well-configured server-side caching (LiteSpeed Cache, Redis) the server serves a large share of visits from memory without running PHP at all. That sharply lowers the effective RAM you need — the same site without caching may need twice the memory as with it.
The table: how much RAM to choose
The following figures assume a normal configuration (LiteSpeed or Nginx + PHP-FPM + MySQL) and server-side caching enabled, so a large share of visits never runs PHP:
- 1 GB RAM — a personal blog or small presentation up to ~10,000 visits a month, a few light plugins.
- 2 GB RAM — a business site or a blog with a page builder, up to ~50,000 visits. The most common sensible start.
- 4 GB RAM — a smaller WooCommerce store or a site with many plugins, up to ~150,000 visits.
- 8 GB RAM and more — a busier store, a membership area or several sites on one server.
Take the table as a starting point, not dogma. A site with a light theme and smart caching will easily handle double the listed traffic, while a heavy store hits the ceiling sooner.
How to measure current usage
The best estimate is one from your own data. If you already run a VPS, look at the real memory usage — on Linux with free -m for the instant state or htop for a process overview. Many hosts also show a RAM usage graph right in the control panel, where you'll see the spikes during the day too. Only then will you know whether you have headroom or you're nearing the ceiling.
Swap: a rescue, not a solution
When physical RAM runs out, the system reaches for swap — offloading part of memory to disk. That keeps the site alive, but at the cost of a major slowdown, because the disk is orders of magnitude slower than memory. So treat swap as a safety cushion for brief spikes, not a substitute for missing RAM. If the server swaps regularly, it's a clear signal that memory is short and it's time to add some.
Several sites on one server
A common misunderstanding arises when you put several sites on one VPS. Memory doesn't add up conveniently — each site has its own PHP processes and share of the database, so three smaller sites on one server can together consume more than you'd expect. If you plan to run several projects, count on extra memory headroom and reach for a higher plan rather than balancing on the edge every month. Choosing a server with room to grow is usually cheaper than constantly firefighting a memory shortage.
How to tell memory is running out
Besides swap, watch the site's behaviour too: a sluggish admin, occasional out-of-memory errors or PHP crashes during imports and updates are typical symptoms. Conversely, when you stay well below the limit for months, you can calmly stay on a smaller plan or even go down. The advantage of a VPS is that memory can be scaled up at most providers within minutes, with no migration.
But before moving to a VPS at all, make sure you need one — for many sites quality shared hosting is enough for a long time. When it's time to move is covered in When to move from shared hosting to a VPS. And if you're torn over whether to manage the server yourself, read the comparison of managed and unmanaged VPS.
A 2 GB VPS costs from roughly €8 a month; with providers offering an introductory discount, always check the renewal price too, so you aren't surprised after a year. We cover the difference between the introductory and renewal price in detail in Beware of introductory prices.