| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

MemoryCheck::__init__::checkMemory Class Reference

Inheritance diagram for MemoryCheck::__init__::checkMemory:
[legend]
Collaboration diagram for MemoryCheck::__init__::checkMemory:
[legend]
List of all members.

Public Member Functions

def __init__
def initialize
def execute
def finalize

Public Attributes

 execNumber
 virt
 res
 virtMax
 virtMin
 resMax
 resMin
 histSvc
 hist

Detailed Description

Definition at line 17 of file __init__.py.


Member Function Documentation

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=[]):


Member Data Documentation

MemoryCheck::__init__::checkMemory::execNumber

Definition at line 30 of file __init__.py.

MemoryCheck::__init__::checkMemory::virt

Definition at line 31 of file __init__.py.

MemoryCheck::__init__::checkMemory::res

Definition at line 32 of file __init__.py.

MemoryCheck::__init__::checkMemory::virtMax

Definition at line 33 of file __init__.py.

MemoryCheck::__init__::checkMemory::virtMin

Definition at line 34 of file __init__.py.

MemoryCheck::__init__::checkMemory::resMax

Definition at line 35 of file __init__.py.

MemoryCheck::__init__::checkMemory::resMin

Definition at line 36 of file __init__.py.

MemoryCheck::__init__::checkMemory::histSvc

Definition at line 69 of file __init__.py.

MemoryCheck::__init__::checkMemory::hist

Definition at line 70 of file __init__.py.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:12:17 2011 for MemoryCheck by doxygen 1.4.7