Public Member Functions | |
def | __init__ |
def | initialize |
def | execute |
def | finalize |
Public Attributes | |
execNumber | |
virt | |
res | |
virtMax | |
virtMin | |
resMax | |
resMin | |
histSvc | |
hist |
Definition at line 17 of file __init__.py.
def MemoryCheck::__init__::checkMemory::__init__ | ( | self, | ||
name | ||||
) |
Definition at line 19 of file __init__.py.
00019 : 00020 GaudiAlgo.__init__(self,name) 00021 00022 return 00023 def initialize(self):
def MemoryCheck::__init__::checkMemory::initialize | ( | self | ) |
Definition at line 24 of file __init__.py.
00024 : 00025 print "Initializing Check Memory", self.name() 00026 status = GaudiAlgo.initialize(self) 00027 if status.isFailure(): 00028 return status 00029 00030 self.execNumber = 0 00031 self.virt = {} 00032 self.res = {} 00033 self.virtMax = 0 00034 self.virtMin = 999 00035 self.resMax = 0 00036 self.resMin = 999 00037 00038 return SUCCESS 00039 def execute(self):
def MemoryCheck::__init__::checkMemory::execute | ( | self | ) |
Definition at line 40 of file __init__.py.
00040 : 00041 if self.execNumber % 1 == 0: 00042 print "------- Check Memory, excute: ", self.execNumber 00043 00044 # Use system command to record memory use 00045 ps = 'ps uh ' + str(os.getpid()) 00046 line = commands.getoutput(ps) 00047 word = line.split() 00048 00049 self.virt[self.execNumber] = float(word[4])/(1024.*1024.) 00050 self.res[self.execNumber] = float(word[5])/(1024.*1024.) 00051 00052 # Find maximum and minimum memory use 00053 if self.virtMax < self.virt[self.execNumber]: 00054 self.virtMax = self.virt[self.execNumber] 00055 if self.virtMin > self.virt[self.execNumber]: 00056 self.virtMin = self.virt[self.execNumber] 00057 00058 if self.resMax < self.res[self.execNumber]: 00059 self.resMax = self.res[self.execNumber] 00060 if self.resMin > self.res[self.execNumber]: 00061 self.resMin = self.res[self.execNumber] 00062 00063 self.execNumber = self.execNumber + 1 00064 00065 return SUCCESS 00066 def finalize(self):
def MemoryCheck::__init__::checkMemory::finalize | ( | self | ) |
Definition at line 67 of file __init__.py.
00067 : 00068 00069 self.histSvc = self.svc('ITHistSvc', 'THistSvc') 00070 self.hist = {} 00071 00072 # Define histogram for virtual and resident memory 00073 self.hist["virt"] = gbl.TH2F("virt", "Virtual Memory", 00074 self.execNumber + 1, 0., self.execNumber, 00075 100, self.virtMin*0.95, self.virtMax*1.05) 00076 status = self.histSvc.regHist('/fileMemory/virt', 00077 self.hist["virt"]) 00078 if status.isFailure(): return status 00079 00080 self.hist["res"] = gbl.TH2F("res", "Resident Memory", 00081 self.execNumber + 1, 0., self.execNumber, 00082 100, self.resMin*0.95, self.resMax*1.05) 00083 status = self.histSvc.regHist('/fileMemory/res', 00084 self.hist["res"]) 00085 if status.isFailure(): return status 00086 00087 # Fill histogram 00088 for i in self.virt: 00089 self.hist["virt"].Fill(float(i),self.virt[i]) 00090 for i in self.res: 00091 self.hist["res"].Fill(float(i),self.res[i]) 00092 00093 print "Finalizing ", self.name() 00094 print "Max resident memory is %s GByte" % self.resMax 00095 print "Max virtual memory is %s GByte" % self.virtMax 00096 status = GaudiAlgo.finalize(self) 00097 return status 00098 def configure(argv=[]):
Definition at line 30 of file __init__.py.
Definition at line 31 of file __init__.py.
Definition at line 32 of file __init__.py.
Definition at line 33 of file __init__.py.
Definition at line 34 of file __init__.py.
Definition at line 35 of file __init__.py.
Definition at line 36 of file __init__.py.
Definition at line 69 of file __init__.py.
Definition at line 70 of file __init__.py.