[mnet-devel] Memory and FEC

icepick icepick at icepick.info
Wed Jul 23 20:51:10 BST 2003


Here's a script that works only on Linux that will show you how much memory
FEC is taking up.  Remember that mmap'ed memory is counted in the process
vmsize.

icepick

-- 
-------------- next part --------------
#!/usr/bin/env python

import sys

from mnetlib.filesystem import fec

def memfec(fn):
    ff = file(fn, 'r')
    
    en = fec.RizzoEncoder(ff, 2048*1024, 2)
    
    for ii in range(en.k, en.m):
        print "mem: %s" % getmem()
        print "block index: %s" % ii
        pkt = en.generate_packet(ii)
        del pkt
        print "mem: %s" % getmem()
    
    print "done"
        
def getmem():
    info = file('/proc/self/stat', 'r').read()
    info = info.split(' ')
    rss = int(info[22])
    return "rss: %rb %rkb %rmb" % (rss, int(rss/1024), int(rss/(1024*1024)),)


    
if __name__ == '__main__':
    memfec(sys.argv[1])


More information about the Mnet-devel mailing list