Monday, July 11, 2011

How to determine the available memory for applications in linux


To determine the memory usage use the free command as follows. (-m gives the results in MB).
free -m
total       used       free     shared    buffers     cached
Mem:         40219      36564       3655          0        420      30733
-/+ buffers/cache:       5411      34808
Swap:         2047       2047          0
In this example the total amount of available memory is 40219 MB, 5411 MB are used by processes and 34808 MB are free for other applications.
Don't get confused by the first line which shows that 3655MB are free! If you look at the usage figures you can see that most of the memory use is for buffers and cache since Linux always tries to use RAM to the fullest extent to speed up disk operations.
Using available memory for buffers (file system metadata) and cache (pages with actual contents of files or block devices) helps the system to run faster because disk information is already in memory which saves I/O.
If space is needed by programs or applications like Oracle, then Linux will free up the buffers and cache to yield memory for the applications. So if your system runs for a while you will usually see a small number under the field "free" on the first line.

No comments:

Post a Comment