How to Choose Your VPS Plan — RAM, CPU, and Storage Explained

What the numbers on a VPS plan actually mean, how much you need to start, and the real story of what happens when you run out. With honest notes on swap, upgrades, and when more RAM isn't the answer.

Vultr plan selection screen showing different RAM and CPU tiers with monthly pricing

When you open Vultr’s deploy screen, you’re presented with a grid of plans — $6, $12, $24, $48 per month — each with different RAM, CPU, and storage specs. If you’re new to servers, these numbers don’t mean much yet.

This article explains what they actually mean for WordPress, and gives you a clear starting point.


The Three Resources and What They Do

RAM — The One That Runs Out First

RAM (Random Access Memory) is where your server stores the data it’s actively using. Every WordPress page request requires PHP to run, which consumes RAM. Every database query holds results in RAM. Redis object cache lives in RAM. The Nginx worker processes use RAM.

When RAM fills up, one of two things happens: the Linux kernel kills the process using the most memory (usually PHP-FPM), or the server starts using swap — disk space treated as overflow RAM.

RAM is almost always the first resource to run out on a WordPress VPS. CPU and disk are rarely the primary bottleneck for a small-to-medium site.

Practical RAM guidelines for WordPress:

ScenarioRecommended RAM
Learning / single test site1GB
1–2 small WordPress sites1–2GB
3–5 sites with Redis + Nginx cache2–4GB
6+ sites or medium-traffic site4GB
Large database (10k+ records)4GB minimum
High-traffic production site8GB+

CPU — Rarely the Bottleneck

CPU cores handle computation — running PHP, processing database queries, executing scripts. For a WordPress site with proper caching (Nginx FastCGI cache + Redis), most page requests are served from cache and never reach PHP. CPU load stays low.

Where CPU becomes relevant:

  • Sites with heavy background processes (WooCommerce order processing, large imports)
  • Sites generating pages dynamically without cache (every request hits PHP)
  • Running multiple resource-intensive operations simultaneously

For the stack in this series — Nginx FastCGI cache + Redis — a single vCPU handles a surprisingly large amount of traffic. Start with 1 vCPU. Monitor. Upgrade if sustained CPU load stays above 80%.

Storage — Disk Space

SSD storage holds your files, databases, and logs. For a WordPress site:

  • WordPress core: ~50MB
  • Plugins and themes: 100–500MB depending on what you install
  • Uploads (images, files): grows over time
  • Database: typically 50MB–2GB for a content site
  • Log files: can grow surprisingly large if not managed

Entry plans (25–55GB SSD) are enough for most WordPress setups. The exception: sites with large media libraries or databases. Monitor disk usage with df -h regularly.


What Happens When RAM Runs Out — A Real Story

My price comparison site had tens of thousands of product records synced from affiliate APIs. Each page load required PHP to query the database, process the results, and generate the page. Even with caching, the cache miss rate was high because the product catalog was constantly updating.

On a 4GB VPS, the server ran fine with low traffic. When crawlers or traffic spikes hit, RAM filled up. PHP-FPM processes got killed. The site returned 502 errors.

My first response was to add more RAM — move to a larger Vultr plan. That helped temporarily. Then I moved to Google Cloud for more headroom. The performance was good. The cost was not.

The actual problem wasn’t the hardware. It was the architecture. WordPress + a relational database is not the right tool for serving tens of thousands of semi-static product pages at scale. The solution wasn’t more RAM — it was rebuilding the site in a framework that didn’t generate pages dynamically.

That experience is what led me to Astro.


About Swap — Useful but Not a Solution

Swap is disk space the Linux kernel uses as overflow when physical RAM is full. You can add it to any server:

# Create a 1GB swap file
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Swap keeps your site alive when RAM runs out — instead of crashing, the server continues by using disk as slow RAM. This is genuinely useful. I’ve used swap on production servers.

The limitation: disk I/O is orders of magnitude slower than RAM. When your server is using significant swap regularly, page load times increase noticeably, and the server feels sluggish. You can see swap usage with:

free -m

If the Swap used column shows consistent activity — not just occasional spikes — that’s the signal to upgrade RAM or reconsider your architecture.

Swap is a safety net and an early warning system. Use it. Don’t rely on it.


The Vultr Plan I’d Start With

For this series — learning VPS, setting up WordPress, running a few small sites:

Start with the $12/month plan: 1 vCPU, 2GB RAM, 55GB SSD.

The $6/month plan (1GB RAM) works for learning but is tight once you have WordPress, Nginx, PHP-FPM, MariaDB, and Redis all running simultaneously. A WordPress admin dashboard reload can push a 1GB server to swap temporarily.

2GB RAM gives you comfortable headroom for the entire setup in this series — including Redis object cache — plus room for 2–3 small WordPress sites.

When you’re ready to add more sites or see consistent RAM pressure: upgrade to 4GB. On Vultr, you can resize the plan from the control panel without rebuilding the server.

Vultr plan selection interface showing $6, $12, and $24 monthly plans with RAM, CPU, and storage specs highlighted
Vultr's Cloud Compute plans. For this series, the $12/month plan (2GB RAM) is the practical starting point.

How to Monitor Resources Once You’re Running

After your VPS is set up, check these regularly:

# RAM and swap usage
free -m

# Disk usage
df -h

# Live process monitor — CPU and RAM per process
htop

# Check if PHP-FPM is consuming too much
ps aux --sort=-%mem | grep php-fpm | head -10

Part 8 of this series covers monitoring in more detail — what numbers to watch for and what they mean. For now, free -m and df -h after each setup step are enough to confirm you’re not running into limits during the build.

Frequently Asked Questions

Can I start with a $6/month VPS and upgrade later?
Yes. Vultr lets you resize to a larger plan without rebuilding the server. Start small, upgrade when you see consistent resource pressure — not preemptively. The $6 plan is enough for learning and for one small WordPress site.
What is swap and should I use it?
Swap is disk space used as overflow RAM when physical RAM runs out. It works — your site stays up instead of crashing — but it's slow. Disk I/O is much slower than RAM. Swap is a useful safety net and a signal that you need more RAM, not a permanent solution.
How many WordPress sites can I run on one VPS?
Depends on traffic and configuration. With a well-configured LEMP stack and Redis object cache, I run 6+ WordPress sites on a 4GB Vultr VPS without consistent resource pressure. Low-traffic sites are much less demanding than high-traffic ones.
When should I upgrade my VPS plan?
When you see consistent RAM usage above 80%, regular swap activity, or CPU load averages above your core count. Occasional spikes are normal. Sustained pressure is the signal to upgrade.

Disclosure: Some links on this page are affiliate links. If you make a purchase through them, I may earn a small commission at no extra cost to you. I only recommend products I've genuinely evaluated. Full disclosure →