Skip to content
Snippets Groups Projects
  1. Nov 29, 2010
  2. Nov 26, 2010
  3. Nov 19, 2010
  4. Nov 15, 2010
  5. Oct 20, 2010
    • Rene Brun's avatar
      Add a new control argument to TMemStat · 07ee7b8c
      Rene Brun authored
      // When TMemStat is active it recors every call to malloc/free in a ROOT Tree.
      // You must be careful when running jobs with many millions (or more) of calls
      // to malloc/free because the generated Tree may become very large.
      // The TMemStat constructor TMemStat(const char* system, Int_t buffersize, Int_t maxcalls)
      // has its 3 arguments optional:
      //   -system refers to the internal algorithm to compute the back traces.
      //    the recommended value is "gnubuiltin"
      //   -buffersize is the number of calls to malloc or free that can be stored in one memory buffer.
      //    when the buffer is full, the calls to malloc/free pointing to the same location
      //    are eliminated and not written to the final Tree. The default value 100000
      //    is such that between 50 and 90% of the calls are eliminated depending on the application.
      //    You can set buffersize <=1 to keep every single call to malloc/free.
      //   -maxcalls can set a limit for the maximum number of calls to be registered in the Tree.
      //    The default value is 5000000.
      // The 3 arguments can be set  in $ROOTSYS/etc/system.rootrc
      //    Root.TMemStat.system      gnubuiltin
      //    Root.TMemStat.buffersize  100000
      //    Root.TMemStat.maxcalls    5000000
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@36382 27541ba8-7e3a-0410-8455-c3a389f83636
      07ee7b8c
  6. Oct 16, 2010
    • Rene Brun's avatar
      More improvements in TMemStat::Show · c08f45aa
      Rene Brun authored
      //
      // TMemStat::Show creates 3 canvases.
      // -In canvas1 it displays a dynamic histogram showing for pages (10 kbytes by default)
      //  the percentage of the page used.
      //  A summary pave shows the total memory still in use when the TMemStat object
      //  goes out of scope and the average occupancy of the pages.
      //  The average occupancy gives a good indication of the memory fragmentation.
      //
      // -In canvas2 it displays the histogram of memory leaks in decreasing order.
      //  when moving the mouse on this canvas, a tooltip shows the backtrace for the leak
      //  in the bin below the mouse.
      //
      // -In canvas3 it displays the histogram of the nbigleaks largest leaks (default is 20)
      //    for each leak, the number of allocs and average alloc size is shown.
      //
      //
      // Simply do:
      //   root > TMemStat::Show()
      // or specifying arguments
      //   root > TMemStat::Show(0.01,20,"mydir/mymemstat.root");
      //
      // The first argument to Show is the percentage of the time of the original job
      // that produced the file after which the display is updated. By default update=0.01,
      // ie 100 time intervals will be shown.
      // The second argument is nbigleaks.
      // The third argument is the imput file name (result of TMemStat).
      // If this argument is omitted, the script will take the most recent file
      // generated by TMemStat.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@36362 27541ba8-7e3a-0410-8455-c3a389f83636
      c08f45aa
  7. Oct 14, 2010
  8. Oct 13, 2010
  9. Oct 12, 2010
  10. Oct 11, 2010
  11. Oct 10, 2010
  12. Oct 09, 2010
  13. Oct 01, 2010
  14. Sep 30, 2010
  15. Sep 27, 2010
  16. Sep 24, 2010
  17. Sep 23, 2010
    • Rene Brun's avatar
      The class TMemStat can now be controlled via system.rootrc by activating · fd0b74ef
      Rene Brun authored
      Root.TMemStat 1
      This way any existing ROOT application becomes trivial to run instrumented
      with TMemStat.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@35660 27541ba8-7e3a-0410-8455-c3a389f83636
      fd0b74ef
    • Rene Brun's avatar
      The code previously in the tutorial/memstat/memstat.C has been moved to a class TMemStatShow. · 4efe7e84
      Rene Brun authored
      This class is called via CINT from the new static function TMemStat::Show.
      The new documentation explaining how to use TMemstat and visualize the results is now:
      
      // TMemStat records all the calls to malloc and free and write a TTree
      // with the position where the memory is allocated/freed , as well as
      // the number of bytes.
      //
      // To use the class TMemStat, add the following statement at the beginning
      // of your script or program
      //     TMemStat mm("gnubuiltin");
      // or in an interactive session do something like:
      //    root > TMemStat mm("gnubuiltin");
      //    root > .x somescript.C
      //    root > .q
      //
      // The file collected by TMemStat can be analyzed and results shown
      // by executing the static function Show.
      //
      // TMemStat::Show creates 2 canvases.
      // -In canvas1 it displays a dynamic histogram showing for pages (10 kbytes by default)
      //  the percentage of the page used.
      //  A summary pave shows the total memory still in use when the TMemStat object
      //  goes out of scope and the average occupancy of the pages.
      //  The average occupancy gives a good indication of the memory fragmentation.
      //
      // -In canvas2 it displays the histogram of memory leaks in decreasing order.
      //  when moving the mouse on this canvas, a tooltip shows the backtrace for the leak
      //  in the bin below the mouse.
      //
      // Simply do:
      //   root > TMemStat::Show()
      // or specifying arguments
      //   root > TMemStat::Show(0.01,"mydir/mymemstat.root");
      //
      // The first argument to Show is the percentage of the time of the original job
      // that produced the file after which the display is updated. By default update=0.01,
      // ie 100 time intervals will be shown.
      // The second argument is the imput file name (result of TMemStat).
      // If this argument is omitted, the script will take the most recent file
      // generated by TMemStat.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@35621 27541ba8-7e3a-0410-8455-c3a389f83636
      4efe7e84
  18. Sep 22, 2010
  19. Sep 21, 2010
Loading