Getting started

How much RAM does a VPS need? A practical sizing guide

Learn how the operating system and your apps use memory, rough starting points for common workloads on Linux and Windows, and the signs that your server is running out of RAM.

Beginner4 min read

RAM is usually the first limit a server hits. Too little and apps slow down, crash or get killed; too much and you pay for memory that sits idle. This guide explains how a server uses memory, gives rough starting points for common workloads, and shows how to spot when you need more.

Before you start

List everything you plan to run on the server at the same time: the web server, database, apps, bots, trading terminals or desktop programs. Memory needs add up, so the total matters more than any single program.

Note: The figures below are rough starting points, not vendor requirements. Software needs change between versions, so check each vendor's current documentation for its own minimums.

How a server uses RAM

Memory on a server is shared by three groups:

  1. The operating system. A Linux server without a desktop uses a small amount. Windows runs a full desktop and more background services, so it uses noticeably more before you open anything.
  2. Your applications. Web servers, PHP workers, databases, Node.js or Python processes, game servers and trading terminals each take their share. Many grow under load: more visitors means more PHP workers, more players means more world data in memory.
  3. Cache. Linux uses spare RAM to cache files from disk. This is good: it speeds things up and is released when apps need it. Do not mistake it for a memory problem.

When RAM runs out, Linux starts using swap (disk space used as slow memory) and, as a last resort, the kernel kills a process. Windows uses its page file and slows down sharply.

Rough starting points

Linux workloads

  • One or two bots, small scripts or a VPN: the smallest plans often work, around 1 GB.
  • A small WordPress or PHP site with caching: around 1–2 GB.
  • Several sites, or one busy site with a database: around 4 GB and up.
  • Docker with several containers, or a control panel: often 4 GB or more. Check the panel vendor's current requirements.
  • Game servers: heavily depend on the game, player count and mods. Some need several GB on their own.

Windows workloads

  • Windows Server with one light app or one trading terminal: plan on at least 4 GB to leave room for the OS and updates.
  • Several MetaTrader terminals, or a browser with many tabs: 8 GB or more is more comfortable.
  • IIS sites with SQL Server: SQL Server will use as much memory as you allow, so give it a clear budget.

Browsers deserve special mention. A modern browser with many tabs can use more memory than the rest of the server combined.

Add headroom

Add up your estimates, then add roughly 25–50% on top. Headroom covers traffic spikes, updates running in the background and growth over the next months. A server that sits at 95% memory use all day has no room for anything unexpected.

Check it works

Once the server is running your real workload, measure.

On Linux

Bash
free -h

Look at the available column, not free. Available includes cache that can be released. If available stays low and swap used keeps climbing, you need more RAM.

To see which processes use the most memory:

Bash
ps aux --sort=-%mem | head -n 10

On Windows

Open Task Manager with Ctrl + Shift + Esc and select Performance → Memory. The In use figure and the graph over time are what matter. The Processes tab sorted by Memory shows what is using it.

Troubleshooting

  • Linux processes disappear without warning: the kernel's out-of-memory killer may have stopped them. Check with sudo dmesg | grep -i "killed process". Reduce memory use or upgrade.
  • The server is slow and the disk is busy: it may be swapping heavily. Check swap use with free -h.
  • Windows feels sluggish with many apps open: close unused browser tabs and check Task Manager. If memory stays above about 90%, plan an upgrade.
  • WordPress shows "Allowed memory size exhausted": that is PHP's own limit, not the server's RAM. Raise memory_limit in PHP settings if the server has spare memory.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.