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 http://mc.socialshock.net/screenshots/2012-06-13_1915.png (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?
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.
Also in case anyone finds this, here is a great resource I found after asking this question.
http://www.linuxatemyram.com/