Описание
Функция возвращает текущее состояние диспетчера памяти. Модуль System подключается для получения информации о глобальной куче, а модуль ShareMem, когда память используется несколькими различными процессами.
Назначение полей записи THeapStatus:
Поле
Описание
TotalAddrSpace
Суммарное адресное пространство (в байтах), доступное текущей Паскаль-программе.
TotalUncommitted
Суммарное количество байт из адресного пространства TotalAddrSpace, под которые не было выделено место в файле подкачки (swap file).
TotalCommitted
Суммарное количество байт из адресного пространства TotalAddrSpace, для которых было выделено место в файле подкачки TotalCommitted:=TotalAddrSpace-TotalUncommitted
TotalAllocated
Суммарное адресное пространство в байтах, выделенное динамически под текущую программу.
TotalFree
Свободное адресное пространство в байтах, которое может быть выделено дополнительно для текущей программы.
FreeSmall
Суммарное количество байт в свободных малых блоках памяти.
FreeBig
Суммарный объем больших блоков памяти, которые не были выделены под текущую программу. Большие блоки могут быть созданы объединением малых блоков, идущих подряд или динамическим освобождением большего объема памяти.
Unused
Суммарное количество байт, которое никогда ранее не было выделено для текущей программы (Unused + FreeBig + FreeSmall = TotalFree).
Overhead
Объем памяти в байтах, необходимый диспетчеру памяти для работы со всеми блоками памяти, которые были динамически выделены текущей программе.
HeapErrorCode
Текущее состояние кучи.
Значения полей TotalAddrSpace, TotalUncommitted и TotalCommitted относятся к адресному пространству памяти операционной системы, используемого программой. Значения TotalAllocated и TotalFree относятся к памяти кучи, динамически распределяемой для использования программой. Т.е. информацию о динамической памяти, используемой в вашей программе, можно получить из значений полей TotalAllocated и TotalFree.