#!/usr/bin/env python import os import sys import gtop def usage(): print""" Usage: ./smaps PID """ def print_maps(v, c, d, name): if c + d > 0: print "%d\t%d\t%d\t%s" % (v / 1024, c / 1024, d / 1024, name) try: pid = int(sys.argv[1]) except: usage() sys.exit() l = gtop.proc_map(pid) print "SHARED" print "vmsize\tclean\tdirty\tname" for x in sorted(l, key=lambda x: x.shared_clean + x.shared_dirty, reverse=True): print_maps (x.size, x.shared_clean, x.shared_dirty, x.filename) print "" print "" print "PRIVATE" print "vmsize\tclean\tdirty\tname" for x in sorted(l, key=lambda x: x.private_clean + x.private_dirty, reverse=True): print_maps (x.size, x.private_clean, x.private_dirty, x.filename)