[svn] r5917 - trunk/tools/dstat/plugins
packagers at lists.rpmforge.net
packagers at lists.rpmforge.net
Sun Oct 14 14:31:40 CEST 2007
Author: dag
Date: 2007-10-14 14:31:40 +0200 (Sun, 14 Oct 2007)
New Revision: 5917
Modified:
trunk/tools/dstat/plugins/dstat_topoom.py
Log:
Improvement to performance from Eric Baplue
Modified: trunk/tools/dstat/plugins/dstat_topoom.py
===================================================================
--- trunk/tools/dstat/plugins/dstat_topoom.py 2007-10-14 12:22:53 UTC (rev 5916)
+++ trunk/tools/dstat/plugins/dstat_topoom.py 2007-10-14 12:31:40 UTC (rev 5917)
@@ -28,17 +28,20 @@
### Using dopen() will cause too many open files
# l = string.split(dopen('/proc/%s/stat' % pid).read())
l = string.split(open('/proc/%s/oom_score' % pid).read())
-
if len(l) < 1: continue
+ oom_score = int(l[0])
+ if oom_score < self.val['max']: continue
+
+ ### Extract name
+ l = string.split(open('/proc/%s/stat' % pid).read())
+ name = l[1][1:-1]
+
### Get commandline
m = string.split(open('/proc/%s/cmdline' % pid).read(), '\0')
if len(m) > 1:
cmd = os.path.basename(m[1])
-# self.val[pid] = int(l[0])
- oom_score = int(l[0])
-
except ValueError:
continue
except IOError:
@@ -46,8 +49,9 @@
### Get the process that spends the most jiffies
if oom_score >= self.val['max']:
+
self.val['max'] = oom_score
- self.val['name'] = cmd
+ self.val['name'] = name
self.val['pid'] = pid
self.val['cmd'] = cmd
# st = os.stat("/proc/%s" % pid)
More information about the svn-commits
mailing list