System.THeapStatus
Delphi
THeapStatus = record
TotalAddrSpace: NativeUInt;
TotalUncommitted: NativeUInt;
TotalCommitted: NativeUInt;
TotalAllocated: NativeUInt;
TotalFree: NativeUInt;
FreeSmall: NativeUInt;
FreeBig: NativeUInt;
Unused: NativeUInt;
Overhead: NativeUInt;
HeapErrorCode: Cardinal;
end deprecated;
C++
struct DECLSPEC_DRECORD THeapStatus _DEPRECATED_ATTRIBUTE0
{
public:
NativeUInt TotalAddrSpace;
NativeUInt TotalUncommitted;
NativeUInt TotalCommitted;
NativeUInt TotalAllocated;
NativeUInt TotalFree;
NativeUInt FreeSmall;
NativeUInt FreeBig;
NativeUInt Unused;
NativeUInt Overhead;
unsigned HeapErrorCode;
};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
Description
Avertissement : THeapStatus est obsolète.
THeapStatus représente des informations sur le tas global.
THeapStatus représente des informations sur le gestionnaire de mémoire en cours. Voici la signification des valeurs de chaque champ :
Champ | Signification |
---|---|
TotalAddrSpace |
L'espace total disponible actuellement pour votre programme, en octets. Il s'agrandit au fur et à mesure que votre programme utilise de façon dynamique la mémoire. |
TotalUncommitted |
Le nombre total d'octets (de TotalAddrSpace) dont l'espace n'a pas été alloué dans le fichier de permutation. |
TotalCommitted |
Le nombre total d'octets (de TotalAddrSpace) dont l'espace a été alloué dans le fichier de permutation. Remarque : TotalUncommitted + TotalCommitted = TotalAddrSpace |
TotalAllocated |
Le nombre total d'octets alloués de façon dynamique par votre programme. |
TotalFree |
Le nombre total d'octets disponibles dans l'espace adresse (en cours) pour être alloué par votre programme. Si ce nombre est dépassé, et s'il existe suffisamment de mémoire virtuelle disponible, le système d'exploitation allouera davantage d'espace ; TotalAddrSpace sera incrémenté en conséquence. |
FreeSmall |
Nombre total d'octets de petits blocs de mémoire non alloués actuellement par votre programme. |
FreeBig |
Nombre total d'octets de grands blocs de mémoire non alloués actuellement par votre programme. De grands blocs libres peuvent être créés en réunissant de petits blocs libres contigus ou en libérant un grand espace mémoire de façon dynamique. La taille exacte des blocs est immatérielle. |
Unused |
Nombre total d'octets qui n'ont jamais été alloués par votre programme. Remarque : Unused + FreeBig + FreeSmall = TotalFree Ces trois champs (Unused, FreeBig et FreeSmall) font référence à l'allocation dynamique par le programme utilisateur. |
Overhead |
Nombre total d'octets exigés par le gestionnaire de tas pour gérer tous les blocs alloués de façon dynamique par votre programme. |
HeapErrorCode |
Indique l'état actuel du tas, tel qu'il a été déterminé en interne. |
Remarque : TotalAddrSpace, TotalUncommitted et TotalCommitted font référence à la mémoire du système d'exploitation utilisée par le programme, alors que TotalAllocated et TotalFree font référence à la mémoire du tas utilisée à l'intérieur du programme par les allocations dynamiques. Donc, pour surveiller la mémoire dynamique utilisée dans votre programme, TotalAllocated et TotalFree.