Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I have a server, and I'm being reported different/strage memory from several locations and I'm having trouble understanding what it all means.

Take this for example:

root@****:~# free -m
             total       used       free     shared    buffers     cached
Mem:         16078      13857       2220          0        227      11032

You'll see that I have 16G of ram, and its showing that nearly 14G of that is being used, but its not. Now I'm not blind, I see that it says "cached: 11032" but what does that mean? and why would that much memory be "cached"? what is it being cached for? why?

top is reporting the same as free, but htop is reporting different: htop output (2572/16078)

Also, webmin is reporting the same as htop.

So what is it, really? what is all that memory going too, even though its "cached" can an application still use it if it needs?

share|improve this question
You left off the second line of the free output. You need that understand your answer better. – Magellan Jun 14 '12 at 1:33
up vote 2 down vote accepted

Cached is the filesystem. It does this so that the most frequently accessed files are in memory. That way, it doesn't have to go all the way out to disk and back - making it more efficient.

Don't worry, though, when your system needs actual real memory for something it'll swap the space out of cache.

share|improve this answer

Also in case anyone finds this, here is a great resource I found after asking this question.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.