Kill empty listings when using -M

This commit is contained in:
Matt Mackall 2009-04-03 16:50:19 -05:00
commit d3d4c72f1f

12
smem
View file

@ -150,7 +150,9 @@ def processtotals(pids):
filter(options.userfilter, pid, pidusername)): filter(options.userfilter, pid, pidusername)):
continue continue
try: try:
totals[pid] = pidtotals(pid) p = pidtotals(pid)
if p['maps'] != 0:
totals[pid] = p
except: except:
continue continue
return totals return totals
@ -214,7 +216,7 @@ def showmaps():
pt = maptotals(p) pt = maptotals(p)
fields = dict( fields = dict(
map=('Map', lambda n: n, '%-24.24s', len), map=('Map', lambda n: n, '%-40.40s', len),
count=('Count', lambda n: pt[n]['count'], '% 5s', sum), count=('Count', lambda n: pt[n]['count'], '% 5s', sum),
swap=('Swap',lambda n: pt[n]['swap'], '% 8a', sum), swap=('Swap',lambda n: pt[n]['swap'], '% 8a', sum),
uss=('USS', lambda n: pt[n]['private_clean'] uss=('USS', lambda n: pt[n]['private_clean']
@ -229,7 +231,7 @@ def showmaps():
avgrss=('AVGRSS', lambda n: int(1.0 * pt[n]['rss']/pt[n]['count']), avgrss=('AVGRSS', lambda n: int(1.0 * pt[n]['rss']/pt[n]['count']),
'% 8a', sum), '% 8a', sum),
) )
columns = options.columns or 'map count swap uss avgpss pss rss' columns = options.columns or 'map count avgpss pss'
showtable(pt.keys(), fields, columns.split(), options.sort or 'pss') showtable(pt.keys(), fields, columns.split(), options.sort or 'pss')
@ -241,6 +243,8 @@ def usertotals(pids):
continue continue
try: try:
maps = pidmaps(pid) maps = pidmaps(pid)
if len(maps) == 0:
continue
except: except:
raise raise
user = piduser(pid) user = piduser(pid)
@ -356,8 +360,6 @@ parser.add_option("-p", "--percent", action="store_true",
parser.add_option("-k", "--abbreviate", action="store_true", parser.add_option("-k", "--abbreviate", action="store_true",
help="show unit suffixes") help="show unit suffixes")
defaults = {} defaults = {}
parser.set_defaults(**defaults) parser.set_defaults(**defaults)
(options, args) = parser.parse_args() (options, args) = parser.parse_args()