# Andy Bavier <acb@cs.princeton.edu>
# Copyright (C) 2004-2006 The Trustees of Princeton University
#
-# $Id: swapmon.py,v 1.2 2006/04/28 19:32:18 mlhuang Exp $
+# $Id: swapmon.py,v 1.4 2006/05/02 17:23:14 mlhuang Exp $
#
import syslog
except ValueError:
pass
+ # vps sometimes prints ERR instead of a context ID if it
+ # cannot identify the context of an orphaned (usually dying)
+ # process. Skip these processes.
+ if type(proc['xid']) != int:
+ continue
+
# Assign (pl_)sshd processes to slice instead of root
m = re.search(r"sshd: ([a-zA-Z_]+)", proc['cmd'])
if m is not None:
(version, slices) = pickle.load(f)
f.close()
# Check version of data file
- if version != "$Id: swapmon.py,v 1.2 2006/04/28 19:32:18 mlhuang Exp $":
+ if version != "$Id: swapmon.py,v 1.4 2006/05/02 17:23:14 mlhuang Exp $":
print "Not using old version '%s' data file %s" % (version, datafile)
raise Exception
# Delete data file
os.unlink(datafile)
except Exception:
- version = "$Id: swapmon.py,v 1.2 2006/04/28 19:32:18 mlhuang Exp $"
+ version = "$Id: swapmon.py,v 1.4 2006/05/02 17:23:14 mlhuang Exp $"
slices = {}
# Query process table every 30 seconds, or when a large change in