Low Memory Conditions on SUSE

  • 7000120
  • 23-Feb-2009
  • 08-Nov-2012

Environment

Novell Open Enterprise Server 1 (OES 1)
Novell Open Enterprise Server 2 (OES 2)
SUSE Linux Enterprise Desktop 10
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Server 9

Situation

The server is running out of memory
Application memory leak
Slow server or application performance

#==[ Command ]======================================#
# /usr/bin/free -k                 vvvvv
             total       used       free     shared    buffers     cached
Mem:        776380     769628       6752          0       1268       4228
-/+ buffers/cache:     764132      12248
Swap:      1164672     396088     768584
                                   ^^^^^

Resolution

The free command shows the most accurate representation of the available free memory. Free memory is not just the third field of the "Mem:" line. You also have to include cached items that could be freed up if needed. This free memory plus cache that could be freed is on the "buffers/cache" line under the "free" column. As you run out of memory, the server begins swapping to disk. A good rule of thumb is, used memory should be less than 90% of the total memory.

1. If there are no memory leaks and the server is just busy, consider adding more physical memory to the server or adjusting application specific memory configurations.

2. If you suspect a memory leak, you may need to report a bug to the application vendor. One method to narrow down an application memory leak is to reboot the server. Make sure all applications are running as expected. Finally run a supportconfig for a baseline server configuration. Wait for the server to show out of memory symptoms. Run another supportconfig to compare against the baseline. Compare the basic-health-check.txt and memory.txt files. Detailed memory troubleshooting is outside the scope of this document.