System.THeapStatus
Delphi
THeapStatus = record
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;
};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
Beschreibung
Warnung: THeapStatus ist veraltet.
THeapStatus repräsentiert Informationen über den globalen Heap.
THeapStatus repräsentiert Informationen über den aktuellen Speichermanager. Die Werte in den Feldern haben folgende Bedeutung:
Feld | Bedeutung |
---|---|
TotalAddrSpace |
Der (aktuelle) gesamte Adressraum in Byte, der für Ihr Programm zur Verfügung steht. Wird mit Zunahme der dynamischen Speicherverwendung Ihres Programms größer. |
TotalUncommitted |
Die Gesamtanzahl der Bytes (von TotalAddrSpace), für die kein Platz in der Swap-Datei zugewiesen wurde. |
TotalCommitted |
Die Gesamtanzahl der Bytes (von TotalAddrSpace), für die Platz in der Swap-Datei zugewiesen wurde. Hinweis: TotalUncommitted + TotalCommitted = TotalAddrSpace |
TotalAllocated |
Die Gesamtanzahl der Bytes, die für Ihr Programm dynamisch zugewiesen wurde. |
TotalFree |
Die Gesamtanzahl der freien Bytes, die im (aktuellen) Adressraum für die Zuweisung durch Ihr Programm verfügbar ist. Wenn diese Zahl überschritten wird und ausreichend virtueller Speicher zur Verfügung steht, wird vom Betriebssystem weiterer Adressraum zugewiesen; TotalAddrSpace wird entsprechend erhöht. |
FreeSmall |
Gesamt-Bytes der kleinen Speicherblöcke, die aktuell nicht durch Ihr Programm zugewiesen sind. |
FreeBig |
Gesamt-Bytes der großen Speicherblöcke, die aktuell nicht durch Ihr Programm zugewiesen sind. Große freie Blöcke können durch Zusammenfügen von kleineren, aufeinanderfolgenden, freien Blöcken oder durch die Freigabe einer großen dynamischen Zuweisung erstellt werden. (Die genaue Größe der Blöcke ist unerheblich). |
Unused |
Gesamt-Bytes, die nie von Ihrem Programm zugewiesen wurden. Hinweis: Unused + FreeBig + FreeSmall = TotalFree. Diese drei Felder (Unused, FreeBig und FreeSmall) beziehen sich auf die dynamische Zuweisung durch das Benutzerprogramm. |
Overhead |
Die Gesamtanzahl der Bytes, die vom Heap-Manager für die Verwaltung der Blöcke benötigt werden, die von Ihrem Programm dynamisch zugewiesen wurden. |
HeapErrorCode |
Gibt den aktuellen Status des Heap an, so wie er intern festgestellt wurde. |
Anmerkung: TotalAddrSpace, TotalUncommitted und TotalCommitted beziehen sich auf den Betriebssystemspeicher, der von Programm verwendet wird. TotalAllocated und TotalFree dagegen beziehen sich auf den Heap-Speicher, der im Programm von dynamischen Zuweisungen verwendet wird. Überwachen Sie deshalb die dynamische Speicherverwendung in Ihrem Programm mit TotalAllocated und TotalFree.