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:
- 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.
- 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.
- 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
free -hLook 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:
ps aux --sort=-%mem | head -n 10On 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_limitin PHP settings if the server has spare memory.
Next steps
- Size the processor too: how many CPU cores you need.
- Add a safety net on Linux: add a swap file.
