Controlling Memory Usage by Container
SLM has a number of means at its disposal allowing you to effectively control and configure the memory usage on the server and inside its Containers. These means include:
-
Using the
free
command to check the memory limit set for a Container and the current memory consumption inside this Container. If the SLM functionality is disabled, running this command inside your Containers will display the total and used memory on the server.
-
Restricting the rate of creating new processes and threads inside a Container.
-
Denying memory allocation requests from a Container.
-
Sending the
SISTERM
signal to applications intensively consuming the memory and requesting them to terminate all their operations, save the data, and exit.
-
Killing a 'dangerous' application by sending the
SIGKILL
signal to it.
Various means of managing the Container memory consumption on the server makes SLM more application-friendly as compared to the management scheme by means of UBC parameters (the latter has only the methods described in items
c
and
e
at its disposal). This allows SLM to select the right means while deciding on the steps to be taken in respect of this or that application. Among other things, SLM takes into account the following characteristics:
-
the severity of a memory limit excess
-
the duration and frequency of excesses
|