Check manual page of mem_linux

Linux: Detailed Usage of RAM, Swap, VMalloc and other Memory Areas

Distribution Official part of Checkmk
License GPLv2
Supported Agents Linux
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.

Check Status: 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.

Discovery

One service is created for each Linux host.