Build precise queries to find exactly what you need
Press ESC to close
@martinb
Member Since: March 25, 2015
Favorites0
Views
Projects0
I modified this slightly to report on free space and not used space. I also added a 3rd argument for Swap. import commands import sys def checkmem(): mem = "Mem" memprint = "Memory" if(len(sys.argv) > 3): if(sys.argv[3] == "s"): mem = "Swap" memprint = "Swap" a = commands.getstatusoutput("free -m | grep " + mem) b = a[1] c = b.split() t = c[1] u = c[2] f = c[3] if (len(sys.argv) > 2): if( int(sys.argv[2]) >= int(f) ): print "CRITICAL -- Total " + memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB" sys.exit(2) elif( int(sys.argv[1]) >= int(f) ): print "WARNING -- Total " + memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB" sys.exit(1) else: print "OK -- Total "+memprint, t+"MB", "Current "+memprint+" Usage is", u+"MB", "Free " + memprint, f+"MB" sys.exit(0) def checkargv(): if (len(sys.argv) == 1 ): print "" print "Enter Warning Limit & Critical Limit" print "Use --help For Help" print "" else: check() def check(): if ((sys.argv[1]) == "--help"): print "" print "This Script checks Your Unix Memory Utilization & Returns Output" print "Use Command Line Arguments in MB [Megabytes]" print "Use script as ./memory.py 'Warning Limit' 'Critical Limit'" print "Use script as ./memory.py 600 500 (s)" print "Where Argument 600 is Memory Warning Limit in MB [Megabytes] & Argument 500 is Memory Critical Limit in MB [Megabytes]" print "And optional s argument is Swap reporting" else: checkmem() def main(): checkargv() if __name__ == '__main__': main()
Reviewed 10 years ago