System.THeapStatus

提供: RAD Studio API Documentation
移動先: 案内検索

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 を使用します。