We use cookies to ensure that we give you the best experience on our website.  Visit our Privacy Policy to learn more. If you continue to use this site, we will assume that you are okay with it.

Your choices regarding cookies on this site.
Your preferences have been updated.
In order for the changes to take effect completely please clear your browser cookies and cache. Then reload the page.

Checkmk 1.6 has arrived! Learn more about it here!

Check manual page of mem.win

Checkmk Manual

On this page

Search in the manual

Memory Usage

Distribution: official part of Check_MK
License: GPL
Supported Agents: Windows

This check measures the current usage of physical RAM and of the commit charge.

The "commit charge" was previously confusingly named "pagefile". Please note that Microsoft themselves use this naming in some applications. Due to how Windows optimizes memory management, physical memory is in practice almost always fully utilized. The Memory usage this check displays says how much memory is actually required by processes, in contrast to caches that could be freed if the need arises.

In the same vein Windows may hold data in RAM and pagefile at the same time or it may hold data in the pagefile even if there is RAM available, when it determines this may improve performance. As a result, the real pagefile usage is not only hard to determine, it's also utterly useless when we want to determine resource usage on the system.

The commit charge instead tells us how much of the memory used in total (RAM + page file) is really required, ignoring overlap and caches. Commit Charge minus used RAM is approximately the amount of the pagefile used for "relevant" data, but further optimizations may lead to offsets (to the point where Commit Charge - RAM can be negative).

The page file metric is determined using the fields 'ullTotalPageFile' (current committed memory limit for the system or the current process, whichever is smaller) and 'ullAvailPageFile' (maximum amount of memory the current process can commit) of the MEMORYSTATUSEX structure as returned by the windows API function 'GlobalMemoryStatusEx'.

Item

None

Discovery

mem.win creates one check for each host that provides data about the page file. If that information is missing, a Unix-like system is assumed and the check mem.used is being used instead.