Header Text: VPS Hosting Server RAM, vCPU and NVMe Sizing Explained

How To Choose A VPS Plan: Sizing RAM, vCPU, And NVMe For Your Workload

This blog will explain how much RAM do I need for a VPS. When choosing a Virtual Private Server (VPS) plan, the wrong sizing can lead directly to poor performance and wasted money. Too little RAM and storage can bring down your site, and extra vCPU cores will not fix slow plugins or bad code. The safest way is to measure VPS specs first instead of guessing. The golden rule is memory first, storage second, and CPU last. In this guide, we’ll show you how to size RAM, vCPU, and NVMe storage for your specific workload. We’ll also cover bandwidth, VPS Hosting types, and when to upgrade.

KEY TAKEAWAYS

  • Choose a VPS plan by sizing RAM first, storage second, and vCPU last, because memory shortages cause the fastest and most serious failures.
  • Measuring actual memory, CPU, and disk usage gives you a more accurate VPS size than choosing a plan based on assumptions.
  • The right VPS plan depends on the workload, from cached WordPress sites and WooCommerce stores to agency hosting, SaaS apps, and trading automation.
  • Monitor RAM, CPU, and disk usage monthly so you can upgrade before performance issues become outages.
  • Over-buying wastes money on unused resources, while under-buying creates performance problems when your site can least afford them.

How to Choose a VPS Plan in South Africa (Quick Answer)

When choosing VPS specs, size memory first, storage second, and vCPU last, because running out of RAM can cause instant site crashes.

A standard WordPress site with a database needs about 2 GB. Busy online stores hosting multiple sites need 4-8 GB.

Control panels also eat up resources. For example, cPanel’s minimum is 2 GB of RAM and 20 GB of storage, with 4 GB of RAM and 40 GB being recommended. Additionally, databases like MySQL use more memory as server size grows, often taking up 50% to 75% of your total RAM above 4 GB.

Always measure VPS specs and resource usage before buying - how much ram do i need for a vps

Measuring VPS Specs, Not Guessing

Almost every VPS server plan is sized wrong the first time. People buy 16 GB of RAM for a basic portfolio site, which is a waste, and others try to run a busy 5,000-product WooCommerce store on 2 GB, which will cause constant crashes. You can avoid over- or under-provisioning by measuring usage instead of guessing.

If you have a server, running three commands can help you get it right.

CommandWhat It Tells You
free -mTotal memory, how much RAM is in use, and if you are running low.
topCPU performance and steal time to see if your host server is overloaded.
df -h and du -sh /***Total disk space and the files or folders taking up storage.

free -m shows memory in megabytes. Ignore the used number. Linux uses spare RAM for cache/buffers to improve performance, so it can look high even on healthy servers. Check the available column to see the actual free capacity.  Also check the swap (virtual memory on disk) line. If swap is used at all under normal load, you need more RAM to keep your site from slowing down or eventually crashing.

top shows two things. Load average tracks CPU demand over 1, 5, and 15 minutes. A load average consistently higher than your total vCPU number means your processor is overloaded. The steal time (%st) number on the CPU line is “time stolen from this VM by the hypervisor”. Steal time above a few percent means the host has overloaded the physical server, and upgrading your plan won’t fix the problem.

df -h shows your total disk storage. Then, run these three target commands to see exactly where it is being used:

  • du -sh /var/lib/mysql (databases)
  • du -sh /var/www (website files)
  • du -sh /var/log (system logs)

If you don’t have a server yet, size it using the software’s recommended specs for your full stack as a baseline, and add a 50-100% safety margin. Also choose a provider that lets you add RAM, vCPU cores, and storage as needed.

RAM

Running out of RAM is a catastrophic failure. If a CPU gets overloaded, your site slows down; if memory runs out, the server starts using slow disk space as temporary RAM (swapping). Once it exhausts swap, the Linux kernel’s “Out-of-Memory Killer” tool is triggered to terminate processes, usually your main database, usually at the worst possible time.

To prevent crashes and answer the question, “How much RAM do I need for a VPS?”, calculate your memory requirement by adding up each component. Use the table below as a guideline.

Each figure is either an official vendor minimum or a default setting.

ComponentRealistic Memory NeededFigure Source
Linux Base Install (OS)0.5-1 GB idleOfficial Ubuntu specs require 1.5 GB min for ISO installs and suggest 3 GB.
Web server (nginx/Apache)100-300 MBIncreases with visitor count
PHP-FPM50-150 MB per task (worker)PHP’s default memory_limit is 128M per task
MySQL / MariaDB50% total RAM (1-4 GB)
 75% total RAM (above 4 GB)
MySQL’s –innodb-dedicated-server sizing table
Redis or Memcached128 MB-1 GBDepends on the maxmemory configured
cPanel & WHM2 GB minimum, 4 GB recommendedOfficial cPanel system requirements
ClamAV (Antivirus)3 GB minimumcPanel strongly recommends 3 GB if enabled
Node.js Application200 MB-1 GB per processDepends on the app and code
Docker Engine + Containers100 MB + each container’s memoryContainers do not remove memory cost

The PHP-FPM line is where most server sizing goes wrong. PHP’s default memory_limit is 128 MB per active website request. If you have 20 concurrent requests at 128 MB each, PHP alone can use 2.5 GB of RAM during heavy traffic, even though it uses almost nothing when idle.

Standard WordPress sites use page caching to store static content to save memory. Interactive sites, WooCommerce checkouts, membership site login portals, or LMS platforms using video process every request dynamically. This completely bypasses caching and hits RAM hard.

Here’s an example of a WooCommerce store with the wrong sizing:

  • cPanel & WHM: 2.0 GB
  • MySQL on a 4 GB box (50% of 4 GB): 2.0 GB
  • Apache + PHP-FPM, 8 workers × 128 MB: 1.0 GB
  • Linux Base System: 0.7 GB
  • Total RAM Needed: 5.7 GB

Simple math shows the store won’t run on 4 GB RAM; it needs 8 GB. Not doing the calculation before ordering is the main reason plans get returned or upgraded in the first month.

Always leave 20-30% headroom as a buffer. Traffic fluctuates, backups need temporary memory, updates need space to process. A server running at 95% memory capacity will crash as soon as something unexpected happens.

Virtual CPU (vCPU)

A vCPU is a shared slice of a host’s physical processor core, not one dedicated to you. Adding vCPUs increases how many tasks your server can handle simultaneously but doesn’t speed up individual tasks.

This is the most misunderstood spec on VPS hosting pages and causes a common, expensive mistake: a site is slow, so people buy more vCPU cores, and the site stays exactly as slow. This is because extra cores won’t fix underlying problems like unoptimized database queries, a slow plugin blocking an external API, or lack of RAM causing server strain.

More vCPUs help when:

  • Multiple requests hit dynamic pages like an uncached checkout page or a busy API at once.
  • Running background parallel processing like video transcoding, image processing, compressing backups, and compiling code while serving active traffic
  • Hosting several individual sites for different clients on one server.
  • You have always-on background processes that need a core, like trading expert advisors, queue workers, and WebSocket servers.
Choosing a VPS depends on the site or application you run

More vCPUs don’t help when:

  • The database is the problem. Fix query indexing or add more RAM instead.
  • Site storage is the bottleneck. Your disk doesn’t read/write data fast enough.
  • Traffic is low, and requests are slow. That is a code or plugin issue.

You can check by running the top command in your terminal and comparing your load average to your total vCPU count:

  • Load average is consistently higher: Your CPU is overwhelmed, and buying more cores will help.
  • Load average is lower, but pages are slow: The problem is somewhere else, and buying more cores is money down the drain.

The rule of thumb for standard workloads is a 1 vCPU-per-2 GB of RAM ratio, which most VPS hosting plans follow. Only deviate from it if you have a good reason, like compute-heavy tasks that need more cores per gigabyte. Database-heavy sites and caching need more RAM per vCPU core.

NVMe Storage

Storage is where the biggest performance differences hide, mainly because most providers’ spec sheets use “SSD” to describe two very different things.

SATA SSDs use an older protocol, AHCI, designed for mechanical drives. It can only process 1 queue of up to 32 commands.

NVMe SSDs use NVM Express over PCIe, a protocol designed for fast flash memory. It supports up to 65,535 queues of up to 65,536 commands each and processes requests with far less overhead.

The gap barely shows in a single large file copy (the benchmark everyone quotes), but shows a massive difference in actual website workloads. Web servers and databases generate thousands of small, concurrent, random data reads and writes (fetching database rows, loading PHP files, and writing user sessions). NVMe handles simultaneous requests effortlessly.

This is why a database that feels slow on SATA  becomes faster on NVMe without upgrading RAM or CPU. For VPS performance, storage speed (IOPS) matters more than size. Ask if the storage is NVMe, and if the page says “SSD”, ask again.

To size how much disk space you need, add these up:

  • OS & packages: 10–20 GB
  • Control panel (cPanel): 20 GB minimum, 40 GB recommended
  • Website files & uploads: Measure with du -sh /var/www
  • Database: Measure, then double for growth and maintenance
  • Local backups: 1× to 3× your site and database size (if stored on server)
  • Logs: 5-10 GB (more if detailed)
  • Free Headroom: 20% minimum

The two lines people forget are logs and free space. A filesystem at 100% will stop MySQL databases from writing and mysteriously crash your site until you run df -h and see your drive is full.

Bandwidth, and What “Unlimited” Means

Our VPS plans offer unlimited traffic, backed by a simple fair-use policy: throttling only kicks in if your account exceeds 20 TB (20,000 GB) of data transfer in a single month.

For context, an average business website getting 100,000 monthly page views at 2 MB per page uses roughly 200 GB (1%) of that threshold. If you run a standard site, bandwidth won’t be an issue. If you stream video or host huge files, work out your transfer needs first.

What VPS Hosting Type To Choose: Five Examples

Here are 5 VPS Hosting types and what they work best for. 

1. Small business site or blog

WordPress with page cache, no ecommerce, and under about 50,000 monthly page views.

If this describes you and everything is working, Shared Hosting is probably the better option. Choose VPS only if you need root access or need software a shared stack can’t run.

Recommended: 2 GB RAM · 1 vCPU · 50 GB NVMe.

2. WooCommerce store

Moderate-high order volume, logged-in customers, and checkout bypassing the page cache.

Stores are memory-hungry because carts and sessions can’t be cached. Add a control panel, and 8 GB stops being too much and becomes the correct amount.

Recommended: 8 GB RAM · 4 vCPU · 200 GB NVMe.

3. Agency or freelancer hosting client sites

Ten to twenty small-to-medium websites with cPanel on one server.

cPanel takes 2–4 GB before hosting a single site, and each site has its own PHP-FPM pool and database. The fail point here isn’t average traffic; it’s multiple clients running backups at the same time.

Recommended: 16 GB RAM · 6 vCPU · 400 GB NVMe

4. A SaaS Application or Web API

Stacks running Node.js or Python with Docker, Redis, a queue worker, and a MySQL database.

Size the database first, add the application processes, then add 30% for deployment overhead to prevent freezing because deploying updates briefly runs two copies of everything.

Recommended Specs: 16-24 GB RAM · 6-8 vCPU · 400-600 GB NVMe

5. Trading Automation

MetaTrader Expert Advisor (EA) bots, running continuously.

Specs are secondary here. Uptime, network stability, and low latency to your broker’s server matter more. Check where your broker’s execution server is before optimizing anything else, because a Johannesburg-based VPS only helps if your broker is reachable from Johannesburg quickly.

Recommended Specs: 4 GB RAM · 2 vCPU · 400 GB NVMe

WorkloadRAMvCPUNVMeLinux Plan
One cached site, low traffic2 GB150 GBEpyc VPS 1
Two or three small sites, or one busy blog4 GB2100 GBEpyc VPS 2
Store with real orders, or a small control-panel server8 GB4200 GBEpyc VPS 3
Agency hosting 10-20 client sites16 GB6400 GBEpyc VPS 4
SaaS or API with a database and queue24 GB8600 GBEpyc VPS 5
Multiple heavy applications, or a database serving other machines32 GB+12+1 TB+Epyc VPS 6 and above

If your calculations land between two plans, choose the larger one, then check your usage in month two.

Headroom, Monitoring and When to Upgrade

Size your server for the next six months, not the next three years. Buying more resources than you need wastes money. Idle CPU cores and unused RAM won’t speed up your site.

Set three thresholds and check them monthly:

RAM: Upgrade when available memory is regularly below 20%, or when your server starts using swap under normal traffic.

CPU: Upgrade when the 15-minute load average is higher than your vCPU count during normal business hours, not during short backup spikes.

Disk: Upgrade at 80% capacity. Never wait for 95%; a full disk crashes a site without warning.

For monitoring, run the vmstat 1 command for an instant system check. Look at the si (swap-in) and so (swap-out) columns. If they are higher than zero, your server is running out of RAM, and it’s time to upgrade.

Before buying with any hosting provider, ask if upgrading is a live resize (instant resource boost) or a rebuild-and-migrate (moving to a new server). Knowing this in advance helps you size your plan correctly.

Domains.co.za VPS plans allow easy upgrades, and our downgrade terms are listed in the FAQ on our VPS Hosting page.

Two Traps to Avoid

Over-Buying

Paying for capacity to feel safe. A 16 GB VPS running a 2 GB workload isn’t more reliable or faster than an 8 GB one; it just costs twice as much. You’d be better off spending that money on more frequent backups or hiring an expert to optimize your database.

Under-Buying

Buying the cheapest plan and planning to upgrade “when it becomes a problem”. It’ll become a problem during your busiest times, which is exactly when you don’t want to be resizing a server.

If you are still deciding whether a VPS is the right kind of hosting at all, start with the companion guide: What is VPS hosting? A South African guide.

Strip Banner Text - Get the Right VPS Hosting Plan for your Workload [Learn More]

How to Choose the Right Web Hosting Plan for Your Website

VIDEO: How to Choose the Right Web Hosting Plan for Your Website

FAQS

How much RAM does a VPS need?

Between 2 GB and 8 GB covers most websites. A single cached WordPress site runs on 2 GB. A store with real order volume needs 8 GB. Adding cPanel adds a minimum of 2 GB and 4 GB recommended before your own software gets any. Above that, you are sizing an application, not a website, and the arithmetic should come from measurement.

Is 2 GB of RAM enough for a VPS?

Yes, for one WordPress site with a page cache and moderate traffic, running without a control panel. No, for a WooCommerce store, a cPanel server, anything running Docker with several containers, or a site where most visitors are logged in. If your plan involves cPanel, 2 GB is the documented minimum for the panel alone.

How many vCPUs do I need?

Start with 1 vCPU per 2 GB of RAM, then adjust based on measurements. Run top if the 15-minute load average sits above your vCPU count during normal hours; add cores. If load is below the core count and pages are still slow, the problem is the database, the code, or the storage, and more cores won’t fix it.

NVMe or SSD – does it actually matter?

Yes, for a database-backed site. NVMe supports up to 65,535 queues of up to 65,536 commands each; SATA’s AHCI protocol supports one queue of 32. That gap barely shows in a large file copy but shows dramatically under the thousands of small concurrent reads a busy database generates.

How much disk space do I need?

Measure your current site with du -sh, double the database figure for growth and maintenance, add 20 GB for the operating system, add 20–40 GB if you use cPanel, add space for logs and local backups, then leave 20% free.

Other Blogs of Interest

What Our Customers say...