check_mem returns negative memory usage when counting OS caches as FREE memory (with -C option). Looks like caches_kb is calculated via caches_kb = MemAvailable+Buffers+Cached+SReclaimable -Shmem. I think this bug was introduced by this MP https://code.launchpad.net/~afreiberger/charm-nrpe/+git/charm-nrpe/+merge/403532
$./check_mem.pl -u -w 97 -c 98 -h -C
OK - -51.6% (-545413716 kB) used.|TOTAL=1056743416KB;;;; USED=-545413716KB;1025041113;1035608547;; FREE=1602157132KB;;;; CACHES=949089652KB;;;; HUGEPAGES=0KB;;;;
$ cat /proc/meminfo
MemTotal: 1056743416 kB
MemFree: 653040840 kB
MemAvailable: 799941548 kB
Buffers: 1322236 kB
Cached: 147247296 kB
SwapCached: 69164 kB
Active: 247599804 kB
More context: https:/ /github. com/justintime/ nagios- plugins/ commit/ 08064cb72e1e9a6 8b581949305ef41 84b600c980