b7be3407159cad0d636175ae606b03094fadcc3f
[p2pool.git] / p2pool / util / memory.py
1 import gc
2 import os
3
4 _scale = {'kB': 1024, 'mB': 1024*1024,
5     'KB': 1024, 'MB': 1024*1024}
6
7 def resident():
8     gc.collect()
9     with open('/proc/%d/status' % os.getpid()) as f:
10         v = f.read()
11     i = v.index('VmRSS:')
12     v = v[i:].split(None, 3)
13     #assert len(v) == 3, v
14     return float(v[1]) * _scale[v[2]]