KB-1149 How to analyze memory usage on Linux systems

This article describes the correct way to interpret memory usage statistics that are reported on UNIX based systems. This is particularly useful when setting up monitoring mechanisms to track memory usage on Appian machines and setting upper limits to trigger alerts when the usage crosses this threshold.

This concept is best understood with an example. Consider the following output when running the standard command free -m to check memory usage:

$ free -m
       total       used       free     shared    buffers     cached
Mem:    1504       1491         13          0         91        764
-/+ buffers/cache:  635        869
Swap:   2047          6       2041

At a first glance on the total and used columns, it would seem that the memory usage on the server is at 99% of total memory. However note that in addition to standard free memory, there is also free cached memory which also needs to be taken into account to get an accurate picture of total free memory on the server calculated as follows:

Total free memory  = free + cache

In the above example, the total free memory would be 882M which comes to over 58% of available memory.

More information on the various types of memory in linux can be found in this site: http://www.linuxatemyram.com/

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: February 2017