#!/usr/local/bin/perl $PIDFILE="/var/run/slapd.pid"; if (!-f $PIDFILE) { print "Slapd memory usage OK.\n"; exit(0); } $PID=`cat $PIDFILE`; if (-f "/etc/noservice") { print "Slapd disabled - OK.\n"; exit(0); } if (-f "/etc/noldap") { print "Slapd disabled - OK.\n"; exit(0); } chomp($PID); @results=`/usr/bin/ps -lyp $PID -orss -ovsz`; ($res, $virtual) = split / /, $results[1], 2; chomp($virtual); $res/=1024; $virtual/=1024; if($res > 3072 && $virtual > 3072) { print "CRITICAL: Slapd memory is 3GB Resident, 3GB Virtual.\n"; exit(2); } elsif ($res > 3072) { print "WARNING: Resident memory is over 3GB in size\n"; exit(1); } elsif ($virtual > 3072) { print "WARNING: Virtual memory is over 3GB in size\n"; exit(1); } else { print "slapd memory OK: Resident $res MB - Virtual $virtual MB.\n"; exit (0); }