TL;DR: You don't have to worry as long as the -/+ buffers/cache
row shows enough free memory. If it shows low free memory and you are continuously being swap
ped to disk then you need to be concerned.
Explanation:
You are good with your current RAM usage scenario. Lets take the output of free -m
to break it down:
All columns of free -m
is self explanatory. The important thing to note that you don't need to be alarmed when the memory usage is high without seeing the amount of memory cached and buffered.
From the output, you have used 3158 MB of your 3442 MB RAM, a plain subtraction would say that you have only 283 MB free to be allocated to new programs. This is not right, you need to look at the cached
and buffers
columns too, cached
will show the a mount of disk data cached by RAM for faster access to the commonly used files and buffered
shows the amount of data to be written to the disk.
As you know, disk access is much slower that RAM, so to improve performance its a good thing to store some of disks data into RAM. You have 1203 MB of cached and 111 MB of buffered data. This is a good thing that your memory is caching this amount without just keeping this amount of RAM idle. It will improve your performance greatly.
To get the actual amount of RAM that is being used without caching/buffering, look at the -/+ buffers/cache:
row. This result is shown subtracting the cached/buffered amount. As you can see you have 1599 MB free, so everything seems Ok at this state. If you see the values in this row is low, then you need to be concerned and take a look at the RAM usage.
Also note that, when a new program is to be started and there is not sufficient memory after caching, the older caches will be cleared automatically to make space for the new program. So, as long as the actual memory usage is not high and your are continuously being swapped to disk, it's a good thing to have substantial amount at cache as it is "using" your memory efficiently.
Be conscious that some system monitors don't factor in cache and buffering. The is where the system transparently uses RAM to store things from disk, to make their second access faster. The cache is automagically reduced in size if you need more RAM. See my free
output:
total used free shared buffers cached
Mem: 24110 19949 4161 366 900 14299
-/+ buffers/cache: 4749 19361
Swap: 0 0 0
At a glance it might look like I'm using almost 20GB of RAM, but 14GB of that is cache. It's the second line of values that show the actual system usage 4.5 used and 19.5 free.
Best Answer
Gnome System Monitor
It already has CPU, RAM, Network monitoring tool.
Just look for the application in your application dash or run