Server RAM Calculator
Work out how much memory a host needs before you order it.
What you provide
A minimal Linux host needs about 1 GB. Windows Server and a monitoring stack need considerably more.
Memory the kernel uses to cache disk. On database and file servers this should be generous.
Result
32 GB covers 8 instances with room to spare
Two constraints decide the module layout rather than the total. Channel population matters: a two-socket board wants memory in matched sets across every channel, and filling half of them costs real bandwidth even when the capacity is right. And modules per channel affect the clock, so four large modules usually run faster than eight small ones at the same total. Check the board's population table before ordering, since the same 32 GB can be a good configuration or a slow one.
- Operating system
- 2.0 GB
- Workloads8 × 2 GB
- 16.0 GB
- Filesystem cacheMemory the kernel uses for page cache, not wasted
- 4.0 GB
- With 25% headroom
- 27.5 GB
- Order this much
- 32 GB
What this cannot tell you
- A sizing estimate from what you enter. It cannot measure your workload, and a working set is genuinely hard to guess before you run something.
- It says nothing about which modules to buy. Channel population and modules per channel affect real bandwidth and clock speed, and the board manual is the authority on both.
Take this with you
How this calculation works
The total is built from four parts: the operating system and its agents, the working set of each instance multiplied by how many run, a share for the filesystem cache the kernel maintains, and headroom on top. The result is rounded up to a capacity you can actually buy, since memory comes in tiers rather than in whatever number the arithmetic produced. Filesystem cache is included deliberately, because memory the kernel uses to cache disk is not spare memory, and a host sized without it will read from disk far more than it should.
What the results mean
- Workloads
- Instance count times working set. The working set is what a process actually touches regularly, which is usually well below what the process reserves.
- Filesystem cache
- Memory the kernel uses to keep recently read disk blocks in RAM. It shows as used, it is not wasted, and taking it away makes storage look slow.
- Order this much
- The next real capacity tier above the calculated total. Buying the exact calculated figure is rarely possible and never wise.
Common problems and fixes
- The host has plenty of free memory but still swaps
- Look at the allocation pattern rather than the total. NUMA machines allocate per socket, and a process pinned to one socket can exhaust that socket local memory while the other has plenty spare. Container memory limits do the same thing on a smaller scale. Check per-node and per-cgroup usage, not just the system total.
- Memory usage looks alarmingly high on a healthy Linux box
- Read the available column rather than the free one. Linux deliberately fills unused memory with page cache and gives it back the moment a process needs it, so a machine showing almost no free memory and plenty available is working exactly as designed. Swap activity and reclaim pressure are the numbers to watch instead.
Frequently asked questions
Do I need ECC memory?
For anything holding data you care about, yes. Bit flips are rare per module per hour and not rare at all across a fleet running for years, and without ECC there is nothing to catch one. The failure mode is silent corruption written to disk, which no filesystem checksum upstream can repair once the bad data has been committed.
Is more memory better than faster memory?
Almost always, up to the point where the working set fits. Running out of memory means going to disk, which is orders of magnitude slower than any difference between memory speeds. Once the workload fits comfortably, the balance shifts and channel population starts to matter more than raw capacity.
How do I find the real working set of an application?
Run it and measure, because guessing is unreliable. On Linux, resident set size gives a starting point, though it overstates for anything using shared libraries heavily. Better is to watch the machine under real load for a full business cycle and note the peak, since most workloads have a daily or weekly shape that a short test never reaches.
Put this on your own site
Free to embed, no attribution required beyond the source link the frame carries itself. It runs entirely in your visitor's browser, sets no cookies and loads no third-party script.
<iframe src="https://runthetests.com/embed/server-ram-calculator/" width="100%" height="560" style="border:1px solid #e5e5e5;border-radius:8px" title="Server RAM Calculator" loading="lazy"></iframe>
Preview it at https://runthetests.com/embed/server-ram-calculator/. Embedded pages are marked noindex, so yours stays the canonical copy — not this one.