As system administrator, or simple user that uses Linux on its desktop sometime you notice that something it’s eating all the memory of your system.
As first thing be sure to understand how Linux manage memory, I’ve be called too many time by scared users that did a
free and were unable to read its output properly, in short, don’t worry if the Linux Kernel it’s using your memory to cache file.
< rant on >
To my “beloved” users:
Be assured that the Kernel developers can do a better job than you (and me) in find a good algorithm to cache file and free that memory area when a process need it, so please don’t ask me to put in cron some job that run something like that :
echo 3 > /proc/sys/vm/drop_caches
After that you’ll have more free memory available on the system, true, but the system will have to re-read all the files from the disk, so in terms of performance this is usually a bad move.
< /rant >
But now let’s take a look at a nice small program that can help us in find which process/users are using, for real, the memory of our systems.