Collecteur d'informations sur l'usage mémoire. Plus de détails...
#include <arcane/utils/MemoryInfo.h>
Classes | |
class | MemoryInfoSorter |
class | TracePrinter |
Fonctions membres publiques | |
virtual void | createOwner (const void *owner, const TraceInfo &trace_info) |
Crée une référence sur owner avec les infos de trace trace_info. | |
virtual void | setOwner (const void *owner, const TraceInfo &new_info) |
Modifie les infos de la référence owner. | |
virtual void | removeOwner (const void *owner) |
Supprime la référence sur owner. | |
virtual void | addInfo (const void *owner, const void *ptr, Int64 size) |
virtual void | addInfo (const void *owner, const void *ptr, Int64 size, const void *old_ptr) |
virtual void | removeInfo (const void *owner, const void *ptr, bool can_fail) |
virtual void | changeOwner (const void *new_owner, const void *ptr) |
virtual void | printInfos (std::ostream &ostr) |
virtual void | setIteration (Integer iteration) |
Positionne le numéro de l'itération courante. | |
virtual void | printAllocatedMemory (std::ostream &ostr, Integer iteration) |
virtual void | setTraceMng (ITraceMng *trace) |
Positionne le ITraceMng pour les messages. | |
virtual void | beginCollect () |
virtual void | endCollect () |
virtual bool | isCollecting () const |
virtual void | setKeepStackTrace (bool is_active) |
Indique si on active la sauvegarde de la pile d'appel. | |
virtual bool | keepStackTrace () const |
Indique si la sauvegarde de la pile d'appel est activée. | |
virtual void | setStackTraceMinAllocSize (Int64 alloc_size) |
Positionne la taille minimale des allocations dont on trace la pile d'appel. | |
virtual Int64 | stackTraceMinAllocSize () const |
Taille minimale des allocations dont on trace la pile d'appel. | |
virtual void | visitAllocatedBlocks (IFunctorWithArgumentT< const MemoryInfoChunk & > *functor) const |
Visiteur sur l'ensemble des blocs alloués. | |
virtual Int64 | nbAllocation () const |
void | checkMemory (const void *owner, Int64 size) |
Fonctions membres publiques hérités de Arcane::IMemoryInfo | |
virtual | ~IMemoryInfo () |
Libère les ressources. | |
Types privés | |
typedef std::map< const void *, MemoryInfoChunk > | MemoryInfoMap |
typedef std::map< const void *, TraceInfo > | MemoryTraceInfoMap |
Fonctions membres privées | |
void | _removeOwner (const void *owner) |
void | _addMemory (const void *owner, Int64 size, const String &stack_value) |
void | _removeMemory (const void *owner, Int64 size) |
TraceInfo * | _getTraceInfo (const void *owner) |
void | _printInfos (std::ostream &ostr) |
Attributs privés | |
MemoryInfoMap | m_infos |
MemoryTraceInfoMap | m_owner_infos |
Int64 | m_alloc_id |
Int64 | m_max_allocated |
Int64 | m_current_allocated |
Int64 | m_biggest_allocated |
Int64 | m_info_big_alloc |
Int64 | m_info_biggest_minimal |
Int64 | m_info_peak_minimal |
Integer | m_iteration |
ITraceMng * | m_trace |
bool | m_display_max_alloc |
bool | m_in_display |
bool | m_is_first_collect |
bool | m_is_stack_trace_active |
Collecteur d'informations sur l'usage mémoire.
Définition à la ligne 33 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 93 du fichier MemoryInfo.h.
Définition à la ligne 94 du fichier MemoryInfo.h.
Arcane::MemoryInfo::MemoryInfo | ( | ) |
Définition à la ligne 187 du fichier MemoryInfo.cc.
|
virtual |
Définition à la ligne 208 du fichier MemoryInfo.cc.
Définition à la ligne 616 du fichier MemoryInfo.cc.
|
private |
Définition à la ligne 433 du fichier MemoryInfo.cc.
Définition à la ligne 607 du fichier MemoryInfo.cc.
Définition à la ligne 312 du fichier MemoryInfo.cc.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 228 du fichier MemoryInfo.cc.
|
virtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 280 du fichier MemoryInfo.cc.
|
virtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 516 du fichier MemoryInfo.cc.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 289 du fichier MemoryInfo.cc.
Définition à la ligne 558 du fichier MemoryInfo.cc.
Crée une référence sur owner avec les infos de trace trace_info.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 263 du fichier MemoryInfo.cc.
|
virtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 540 du fichier MemoryInfo.cc.
|
virtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 549 du fichier MemoryInfo.cc.
Indique si la sauvegarde de la pile d'appel est activée.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 78 du fichier MemoryInfo.h.
|
inlinevirtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 85 du fichier MemoryInfo.h.
|
virtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 473 du fichier MemoryInfo.cc.
|
virtual |
Implémente Arcane::IMemoryInfo.
Définition à la ligne 409 du fichier MemoryInfo.cc.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 334 du fichier MemoryInfo.cc.
Supprime la référence sur owner.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 325 du fichier MemoryInfo.cc.
Positionne le numéro de l'itération courante.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 64 du fichier MemoryInfo.h.
Indique si on active la sauvegarde de la pile d'appel.
Si is_active est vrai, active la trace la pile d'appel des allocations. Le tracage est conditionné à la valeur de stackTraceMinAllocSize().
Implémente Arcane::IMemoryInfo.
Définition à la ligne 77 du fichier MemoryInfo.h.
Modifie les infos de la référence owner.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 216 du fichier MemoryInfo.cc.
Positionne la taille minimale des allocations dont on trace la pile d'appel.
Pour toutes les allocations au dessus de alloc_size, la pile d'appel est conservée afin de pouvoir identifier les fuites mémoires. Le cout mémoire et CPU de la conservation d'une pile d'appel est important et il est donc déconseillé de mettre une valeur trop faible (en dessous de 1000) à alloc_size. La conservation de la pile d'appel est désactivée si keepStackTrace() vaut false.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 80 du fichier MemoryInfo.h.
Positionne le ITraceMng pour les messages.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 507 du fichier MemoryInfo.cc.
|
inlinevirtual |
Taille minimale des allocations dont on trace la pile d'appel.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 81 du fichier MemoryInfo.h.
|
virtual |
Visiteur sur l'ensemble des blocs alloués.
Implémente Arcane::IMemoryInfo.
Définition à la ligne 628 du fichier MemoryInfo.cc.
|
private |
Définition à la ligne 99 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 102 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 101 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 108 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 109 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 103 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 104 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 105 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 96 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 110 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 111 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 106 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 100 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 97 du fichier MemoryInfo.h.
|
private |
Définition à la ligne 107 du fichier MemoryInfo.h.