Private.
(VmKey)
| 6 | 'KB': 1024.0, 'MB': 1024.0*1024.0} |
| 7 | |
| 8 | def _VmB(VmKey): |
| 9 | '''Private. |
| 10 | ''' |
| 11 | global _proc_status, _scale |
| 12 | # get pseudo file /proc/<pid>/status |
| 13 | try: |
| 14 | t = open(_proc_status) |
| 15 | v = t.read() |
| 16 | t.close() |
| 17 | except: |
| 18 | return 0.0 # non-Linux? |
| 19 | # get VmKey line e.g. 'VmRSS: 9999 kB\n ...' |
| 20 | i = v.index(VmKey) |
| 21 | v = v[i:].split(None, 3) # whitespace |
| 22 | if len(v) < 3: |
| 23 | return 0.0 # invalid format? |
| 24 | # convert Vm value to bytes |
| 25 | return float(v[1]) * _scale[v[2]] |
| 26 | |
| 27 | |
| 28 | def memory(since=0.0): |