Checkmk Conference #6 is coming. Get your tickets here!
Linux: Detailed Usage of RAM, Swap, VMalloc and other Memory Areas
|Distribution:||official part of Check_MK|
This check measures all of the available memory readings of the complex
Linux memory management, which are found in /proc/meminfo. You can
define levels on every useful value, not only on RAM and Swap. Please
note that the Linux memory management is very complex. This check takes
all this into account and also correctly handles the concept of
caching and the fact that Linux swaps out inactive parts of processes
even if there is enough RAM left.
This is not a bug, it's a feature. In fact it is the only way to do it right
(at least for Linux): What parts of a process currently reside in physical
RAM and what parts are swapped out is not related in a direct way with the
current memory usage.
Linux tends to swap out parts of processes even if RAM is available. It
does this in situations where disk buffers (are assumed to) speed up the
overall performance more than keeping rarely used parts of processes in RAM.
For example after a complete backup of your system you might experiance
that your swap usage has increased while you have more RAM free then
before. That is because Linux has taken RAM from processes in order to
increase disk buffers.
Per default the check status is either OK in case no RAM is corrupted or
CRIT in case at least 1 Byte of RAM is corrupted. It is possible to
change this behaviour by configuring the warning and critical levels in WATO
group OS rule Memory and Swap usage on Linux. In case the parameter
Upper levels for Hardware Corrupted is configured with Absolute levels or
with Percentual levels the corresponding levels are considered to generate
check status WARN or CRIT. In case the parameter is configured to
Do not impose levels the check status is always OK independent of a
possible RAM corruption.
One item per Linux host is being created.