Ignore:
Timestamp:
09/02/21 17:06:35 (3 years ago)
Author:
ymipsl
Message:

Revisiting Memory tracking :

  • MemTrack? has been improved
    • Not need anymore to use private external libaddr2line, fork addr2line process internaly and use bidrectionnale pipe to send stack adress et get in return the demangle stack name
    • Can use cxa_demangle in backup
  • Block memory leak report is output in separate file (xios_xxx.mem),memory block are ordonned in decreasing size.
  • Possibility to output only the n bigest bloc with : "memtrack_blocs" xios parameters
  • Possibility to output only bloc over a given size with : "memtrack_size" xios parameters
  • Implement new method to retrieve the memory consumed in a time interval very similarely to xios timer :

CMemTracker("xios").resume()
CMemTracker("xios").suspend() ;
etc....

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/memtrack.hpp

    r1158 r2212  
    3838#include <typeinfo> 
    3939#include <cstring> 
     40#include <fstream> 
    4041 
    4142namespace MemTrack 
     
    5960    void TrackFree(void *p); 
    6061    void TrackStamp(void *p, const MemStamp &stamp, char const *typeName); 
    61     void TrackDumpBlocks(); 
     62    void TrackDumpBlocks(std::ofstream& memReport, size_t memtrack_blocks, size_t memtrack_size); 
    6263    void TrackListMemoryUsage(); 
    6364    size_t getCurrentMemorySize(void) ; 
Note: See TracChangeset for help on using the changeset viewer.