System.THeapStatus
Delphi
THeapStatus = record
C++
struct DECLSPEC_DRECORD THeapStatus _DEPRECATED_ATTRIBUTE0
{
public:
System::NativeUInt TotalAddrSpace;
System::NativeUInt TotalUncommitted;
System::NativeUInt TotalCommitted;
System::NativeUInt TotalAllocated;
System::NativeUInt TotalFree;
System::NativeUInt FreeSmall;
System::NativeUInt FreeBig;
System::NativeUInt Unused;
System::NativeUInt Overhead;
unsigned HeapErrorCode;
};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
説明
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 を使用します。