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;
};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
説明
警告: THeapStatus は非推奨になっています。
THeapStatus はグローバル ヒープについての情報を表します。
THeapStatus は、現在のメモリ マネージャについての情報を表します。各フィールドの値の意味は、以下のとおりです。
フィールド | 意味 |
---|---|
TotalAddrSpace |
プログラムで利用可能なアドレス空間の現在の総バイト数。プログラムによる動的メモリの使用が増えるにつれて、この値は増加します。 |
TotalUncommitted |
TotalAddrSpace のうちで、スワップ ファイルに割り当てられていない空間の総バイト数。 |
TotalCommitted |
TotalAddrSpace のうちで、スワップ ファイルに既に割り当てられている空間の総バイト数。メモ:TotalUncommitted + TotalCommitted = TotalAddrSpace |
TotalAllocated |
プログラムによって動的に割り当てられた総バイト数。 |
TotalFree |
現在のアドレス空間で、プログラムによる割り当てに利用できる(空いている)総バイト数。この数値が増え過ぎても、十分な仮想メモリが利用可能な場合は、OS から追加のアドレス空間が割り当てられます。その結果、TotalAddrSpace も増加します。 |
FreeSmall |
現在プログラムによって割り当てられていない、小メモリ ブロックの総バイト数。 |
FreeBig |
現在プログラムによって割り当てられていない、大メモリ ブロックの総バイト数。大きな空きブロックは、それより小さな連続した空きメモリ ブロックをまとめたり、大きな動的割り当てを解放することによって作成されます(このようなブロックの正確なサイズは重要ではありません)。 |
Unused |
プログラムによって割り当てられたことのない総バイト数。メモ:Unused + FreeBig + FreeSmall = TotalFree。これらの 3 つのフィールド(Unused、FreeBig、FreeSmall)は、ユーザー プログラムによる動的割り当てに関連します。 |
Overhead |
ユーザー プログラムによって動的に割り当てられたすべてのメモリ ブロックを管理するために、ヒープ マネージャが必要とする総バイト数。 |
HeapErrorCode |
ヒープの現在の状態(内部的に決定される)を表します。 |
メモ: TotalAddrSpace、TotalUncommitted、および TotalCommitted は、プログラムによって使用される OS のメモリに関連します。一方、 TotalAllocated と TotalFree は、動的割り当てによってプログラム内で使用されるヒープ メモリに関連します。 したがって、プログラムで使われる動的メモリを監視するには、TotalAllocated と TotalFree を使用します。