make control.get_memory_usage() return all zeroes if reading /proc/mem/whatsit raises an exception

This commit is contained in:
Zooko O'Whielacronx 2007-12-06 17:27:40 -07:00
parent 8ad2e85fdf
commit 4923d8dcb5

View File

@ -1,5 +1,5 @@
import os, time
import os, sys, time
from zope.interface import implements
from twisted.application import service
from twisted.internet import defer
@ -15,12 +15,17 @@ def get_memory_usage():
#"VmHWM",
"VmData")
stats = {}
for line in open("/proc/self/status", "r").readlines():
name, right = line.split(":",2)
if name in stat_names:
assert right.endswith(" kB\n")
right = right[:-4]
stats[name] = int(right) * 1024
try:
for line in open("/proc/self/status", "r").readlines():
name, right = line.split(":",2)
if name in stat_names:
assert right.endswith(" kB\n")
right = right[:-4]
stats[name] = int(right) * 1024
except:
# Probably not on (a compatible version of) Linux
stats['VmSize'] = 0
stats['VmPeak'] = 0
return stats
def log_memory_usage(where=""):