Skip to content
ENExplore Calculators

RAM Usage Calculator

Calculate used, free and cached RAM percentages from free command output values.

About RAM Usage Calculator

A common misreading of `free -h` treats MemFree as the true measure of available memory, but that column excludes reclaimable page cache and buffers — memory that's technically 'in use' but instantly reclaimable if an application needs it. MemAvailable (introduced in kernel 3.14, exposed in /proc/meminfo) is the kernel's own best estimate of how much memory could actually be allocated to new processes without swapping, and is the number you should compare against thresholds for out-of-memory risk.

Formula

Realistic used memory

used = MemTotal − MemAvailable

T
MemTotal
A
MemAvailable

Worked example

With the default values below, RAM Usage Calculator returns Realistically Used of 45.07%. Change any input above and every figure here is recalculated in your browser.

Inputs used

MemTotal (MB)minimum 1
16,384
MemFree (MB)minimum 0
1,024
Buffers (MB)minimum 0
256
Cached (MB)minimum 0
8,192
MemAvailable (MB, if known — from /proc/meminfo)minimum 0
9,000

Results

Realistically Used
45.07%
Available for New Allocations
54.93%
Used (Total − MemAvailable, MB)
7,384
MemAvailable (MB)
9,000
Buffers + Cache (MB)
8,448
Naive Used = Total − Free (MB)
15,360
Note
MemAvailable (not MemFree) is the correct 'how much can I still allocate' figure — it already counts reclaimable buffers/cache as usable.

Step by step

  1. 1Values used
  2. 2Realistic used memory
  3. 3Realistically Used= 45.07
  4. 4Available for New Allocations= 54.93
  5. 5Used (Total − MemAvailable, MB)= 7,384
  6. 6MemAvailable (MB)= 9,000
  7. 7Buffers + Cache (MB)= 8,448
  8. 8Naive Used = Total − Free (MB)= 15,360

Assumptions and limits

  • The result is derived only from the 5 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

Why does 'free -h' show almost no free memory even when the system feels idle?

Because MemFree only counts memory not being used for anything at all, while Linux deliberately fills spare RAM with page cache to speed up file access. The 'available' column is what you should look at instead — it already subtracts out the memory the kernel considers instantly reclaimable.

What's the difference between Buffers and Cached in /proc/meminfo?

Buffers holds raw block-device I/O buffers (metadata-level caching close to the storage layer), while Cached holds page cache for file contents read through the filesystem. Both are reclaimable under memory pressure and both count toward MemAvailable.

Is high RAM usage always a problem?

Not if it's mostly cache — high 'used + cached' with low 'used (realistic)' and healthy MemAvailable is normal and even desirable, since it means the kernel is using otherwise-idle RAM productively. The actual concern is when MemAvailable itself gets low and the system starts swapping or invoking the OOM killer.

RAM Usage Calculator – Calculate Realistically Used