Skip to content

Add Memory Monitoring feature for serial steps to PerfMonMT as part of GSoC work

Hasan Ozturk requested to merge haozturk/athena:PerfMonMTSvc into master

This MR adds memory monitoring feature to the new, thread-safe performance monitoring service(PerfMonMTSvc) which was only capable of CPU & Wall time monitoring. In the context of memory monitoring, we measure Virtual Memory Size, Resident Set Size(Rss), Proportional Set Size(Pss) and Swap Size for serial steps of the job.

These statistics are gathered from /proc/self/smaps directory for each component.

For a better understanding, here is a snippet of the output regarding the memory monitoring:

PerfMonMTSvc                                         INFO =======================================================================================
PerfMonMTSvc                                         INFO                                   Memory Monitoring                                    
PerfMonMTSvc                                         INFO                                    (Serial Steps)                                      
PerfMonMTSvc                                         INFO                                      Units: kB                                         
PerfMonMTSvc                                         INFO =======================================================================================
PerfMonMTSvc                                         INFO Step           Vmem      Rss       Pss       Swap      Component
PerfMonMTSvc                                         INFO Initialize     42756     43520     43419     0         GeoModelSvc
PerfMonMTSvc                                         INFO Initialize     38100     30404     30385     0         AthMasterSeq
PerfMonMTSvc                                         INFO Initialize     38100     30392     30373     0         AthAlgEvtSeq
PerfMonMTSvc                                         INFO Initialize     38100     30304     30285     0         AthAllAlgSeq
PerfMonMTSvc                                         INFO Initialize     28940     22012     21993     0         AthAlgSeq
PerfMonMTSvc                                         INFO Initialize     21812     16820     16801     0         InDetSiSpTrackFinder
PerfMonMTSvc                                         INFO Initialize     18904     14728     14718     0         InDetSiSpTrackFinder.InDetSiTrackMaker
PerfMonMTSvc                                         INFO ...
PerfMonMTSvc                                         INFO =======================================================================================
PerfMonMTSvc                                         INFO Start          0         92        92        0         AlgResourcePool
PerfMonMTSvc                                         INFO Start          0         64        63        0         TagInfoMgr
PerfMonMTSvc                                         INFO Start          0         44        44        0         CondInputLoader
PerfMonMTSvc                                         INFO Start          0         44        43        0         PoolSvc
PerfMonMTSvc                                         INFO Start          0         40        40        0         ToolSvc
PerfMonMTSvc                                         INFO Start          0         36        36        0         EventSelector
PerfMonMTSvc                                         INFO ...
PerfMonMTSvc                                         INFO =======================================================================================
PerfMonMTSvc                                         INFO Stop           0         12        12        0         AlgResourcePool
PerfMonMTSvc                                         INFO Stop           0         4         4         0         ToolSvc
PerfMonMTSvc                                         INFO Stop           0         0         1         0         InDetGeometryDBSvc
PerfMonMTSvc                                         INFO Stop           0         0         1         0         ClassIDSvc
PerfMonMTSvc                                         INFO Stop           0         0         1         0         ToolSvc.InDetPatternPropagator
PerfMonMTSvc                                         INFO ...
PerfMonMTSvc                                         INFO =======================================================================================
PerfMonMTSvc                                         INFO Finalize       0         248       249       0         ConditionStore
PerfMonMTSvc                                         INFO Finalize       0         228       228       0         DetectorStore
PerfMonMTSvc                                         INFO Finalize       0         132       132       0         AthMasterSeq
PerfMonMTSvc                                         INFO Finalize       0         128       128       0         AthAlgEvtSeq
PerfMonMTSvc                                         INFO Finalize       0         128       128       0         AthAllAlgSeq
PerfMonMTSvc                                         INFO Finalize       0         112       112       0         DetDescrCnvSvc
PerfMonMTSvc                                         INFO Finalize       0         88        88        0         AthenaPoolCnvSvc
PerfMonMTSvc                                         INFO ...
PerfMonMTSvc                                         INFO =======================================================================================
PerfMonMTSvc                                         INFO preLoadProxy   0         8         8         0         UpdateAddr::MATERIALS
PerfMonMTSvc                                         INFO preLoadProxy   0         8         8         0         UpdateAddr::Pixel
PerfMonMTSvc                                         INFO preLoadProxy   0         8         8         0         UpdateAddr::SCT
PerfMonMTSvc                                         INFO preLoadProxy   0         0         0         0         UpdateAddr::/GLOBAL/BField/Maps
PerfMonMTSvc                                         INFO preLoadProxy   0         0         0         0         UpdateAddr::/Indet/Align
PerfMonMTSvc                                         INFO ...

Merge request reports