X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=swapmon.py;h=7ca19bc4281c02a5fc8cde9363e87301b6fcb1f0;hb=efa183b54f02fdd5666312792fc73552b6f06ec6;hp=da8f3a0129941471731ea3969e02e81ed371383d;hpb=bf9f828db4d642ef2dc02adc38aee58827de7784;p=mom.git diff --git a/swapmon.py b/swapmon.py index da8f3a0..7ca19bc 100755 --- a/swapmon.py +++ b/swapmon.py @@ -35,8 +35,8 @@ from pl_mom import * # Defaults debug = False verbose = 0 -datafile = "/var/lib/misc/swapmon.dat" - +DATAFILE = "/var/lib/misc/swapmon.dat" +VERSION = "$Id$" # Seconds between process analysis period = 30 @@ -229,18 +229,18 @@ class Reset: if debug: print reset_subject % params print reset_body % params - try: - pid = os.fork() - if pid == 0: - print "Resetting slice " + self.name - vserver = VServer(self.name) - vserver.stop() - vserver.start(wait = False) - os._exit(0) - else: - os.waitpid(pid,0) - except Exception, err: - print "Warning: Exception received while resetting slice %s:" \ + try: + pid = os.fork() + if pid == 0: + print "Resetting slice " + self.name + vserver = VServer(self.name) + vserver.stop() + vserver.start(wait = False) + os._exit(0) + else: + os.waitpid(pid,0) + except Exception, err: + print "Warning: Exception received while resetting slice %s:" \ % self.name, err if (time.time() - self.resetmail) > email_timeout: slicemail(self.name, reset_subject % params, reset_body % params) @@ -263,7 +263,7 @@ Options: --system-slice=SLICE System slice that should not be reset --status Print memory usage statistics and exit -h, --help This message -""".lstrip() % (sys.argv[0], debug, verbose, datafile, format_period(period)) +""".lstrip() % (sys.argv[0], debug, verbose, DATAFILE, format_period(period)) def slicestat(names = None): """ @@ -465,14 +465,14 @@ def readdat(): pl_mom@pl. ''' try: - f = open(datafile, "r+") + f = open(DATAFILE, "r+") if verbose: - print "Loading %s" % datafile - (version, slices) = pickle.load(f) + print "Loading %s" % DATAFILE + (v, slices) = pickle.load(f) f.close() # Check version of data file - if version != "$Id$": - print "Not using old version '%s' data file %s" % (version, datafile) + if v != VERSION: + print "Not using old version '%s' data file %s" % (v, DATAFILE) raise Exception params = {'hostname': socket.gethostname(), @@ -485,9 +485,8 @@ def readdat(): slicemail(None, rebooted_subject % params, rebooted_body % params) # Delete data file - os.unlink(datafile) + os.unlink(DATAFILE) except Exception: - version = "$Id$" slices = slicestat() return slices @@ -497,15 +496,15 @@ def writedat(slices): """ Write (slices) to pickled datfile. """ - if verbose: print "Saving %s" % datafile - f = open(datafile, "w") - pickle.dump((version, slices), f) + if verbose: print "Saving %s" % DATAFILE + f = open(DATAFILE, "w") + pickle.dump((VERSION, slices), f) f.close() def main(): # Defaults - global debug, verbose, datafile + global debug, verbose, DATAFILE, VERSION global period, change_thresh, reset_thresh, reboot_thresh, rss_min, system_slices # All slices names = [] @@ -525,7 +524,7 @@ def main(): elif opt == "-v" or opt == "--verbose": verbose += 1 elif opt == "-f" or opt == "--file": - datafile = optval + DATAFILE = optval elif opt == "-s" or opt == "--slice": names.append(optval) elif opt == "-p" or opt == "--period":