В прошлой записи было показано, как освободить, не занятую программой, память. Но вот как можно просто определить, сколько занимает программа? Оказывается, все очень просто!
Используем следующий код:
uses psAPI;
{...}
function CurrentProcessMemory: Cardinal;
var
MemCounters: TProcessMemoryCounters;
begin
MemCounters.cb := SizeOf(MemCounters);
if GetProcessMemoryInfo(GetCurrentProcess,
@MemCounters,
SizeOf(MemCounters)) then
Result := MemCounters.WorkingSetSize
else
RaiseLastOSError;
end;
Все. Эта функция вернет, в байтах, количество памяти, занимаемое текущим процессом. Просто и удобно.
С помощью TProcessMemoryCounters можно получить и другие полезные данные:
- PageFaultCount
- PeakWorkingSetSize
- WorkingSetSize
- QuotaPeakPagedPoolUsage
- QuotaPagedPoolUsage
- QuotaPeakNonPagedPoolUsage
- QuotaNonPagedPoolUsage
- PagefileUsage
- PeakPagefileUsage
Сам я эти параметры не испытавал и не проверял - оставляю на вас.
П.С. Все киноновинки сезона с красочными описаниями Вы може посмотреть онлайн и абсолютно бесплатно на веб-сайте online-r.net.ru. Кроме того на данном ресурсе Вы имеете возможность заказать понравившейся фильм онлайн. Хорошего просмотра дорогие друзья!
+2