Add column and header logic
This commit is contained in:
parent
3e4d9a1305
commit
fdbec65a91
1 changed files with 21 additions and 4 deletions
25
smem
25
smem
|
|
@ -26,9 +26,8 @@ def pidmaps(pid):
|
|||
|
||||
def pidtotals(pid):
|
||||
maps = pidmaps(pid)
|
||||
# t = dict(size=0, rss=0, pss=0, shared_clean=0, shared_dirty=0,
|
||||
# private_clean=0, private_dirty=0, referenced=0, swap=0)
|
||||
t = dict(pss=0)
|
||||
t = dict(size=0, rss=0, pss=0, shared_clean=0, shared_dirty=0,
|
||||
private_clean=0, private_dirty=0, referenced=0, swap=0)
|
||||
for m in maps.iterkeys():
|
||||
for k in t:
|
||||
t[k] += maps[m].get(k, 0)
|
||||
|
|
@ -79,7 +78,25 @@ def memory():
|
|||
def showpids():
|
||||
p = pids()
|
||||
pt = processtotals(p)
|
||||
|
||||
fields = dict(
|
||||
pid=('PID', lambda n: n, '% 6s', lambda: len(pids)),
|
||||
user=('User', piduser, '%-8s', None),
|
||||
name=('Command', pidname, '%-30s', None),
|
||||
rss=('RSS', lambda n: pt[n]['rss'], '% 8s', None),
|
||||
pss=('PSS', lambda n: pt[n]['pss'], '% 8s', None),
|
||||
)
|
||||
columns = 'pid user name pss rss'.split()
|
||||
|
||||
header = ""
|
||||
format = ""
|
||||
for n in columns:
|
||||
f = fields[n][2]
|
||||
format += f + " "
|
||||
header += f % fields[n][0] + " "
|
||||
|
||||
print header
|
||||
for n in p:
|
||||
print "% 6d %-8s %-30s % 8d" % (n, piduser(n), pidname(n), pt[n]['pss'])
|
||||
print format % tuple([fields[f][1](n) for f in columns])
|
||||
|
||||
showpids()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue