Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить размер памяти занимаемой программой из самой прогр


Raduga ©   (2003-05-22 15:24:00) 

Ребята, подскажите пожалуйста , как из проги узнать сколько места она занимает в памяти (чтоб выводилось куда-нибудь на форму).


Zelius   (2003-05-23 12:41:00) [1]

Windows Management Instrumentation позволяет получить практически любую информацию, в том числе и ту, что в Task Manager живет.


Fantasist.   (2003-05-23 07:11:00) [2]


> Ну например DLL


Если только. Но частности, которые можно конролировать, если длл-ка твоя. Конечно, существуют еще системные выделение памяти, например, для поддержки COM, которую действительно посчитать тяжеловато. Но в принципе эти вещи можно отключить во время тестирования памяти. Хорошо согласен, определени сабжа действительно не всегда тривиально, но во многих случаях вполне реально.


Anatoly Podgoretsky   (2003-05-22 20:16:00) [3]

Ну например DLL


Кулюкин Олег   (2003-05-22 17:11:00) [4]

AllocMemSize не поможет?


Fantasist.   (2003-05-22 17:03:00) [5]


> KSergey © (22.05.03 16:16)
> Нет


А что так сурово? А зачем тогда функция GetHeapStatus (Returns the current status of the memory manager)? Вся выделяемая динамическая память средствами дельфийского паскаля проходит через стандартный менеджер, и если он не подменен, то вроде проблем быть не должно. Если есть выделение памяти с помощью API, так это тоже считывается с помощью тех же API. Память выделенная под стек статична. Чего еще упускаем?

P.S. Можно еще подменить built-in манаджер памяти (SetMemoryManager) подменить и самому следить за выделением освобождением памяти.


clickmaker   (2003-05-22 16:36:00) [6]

yaJohn © (22.05.03 16:19)
Для борьбы с утечками я поступаю дешево и сердито: определяю сколько памяти осталось


...затем потихоньку начинаю чикать чужие процессы. Не хрен у меня память отымать! ;)


yaJohn   (2003-05-22 16:19:00) [7]

Для борьбы с утечками я поступаю дешево и сердито: определяю сколько памяти осталось

function GetFreeMemory: integer;
var uMemStatus: _MEMORYSTATUS;
begin
GlobalMemoryStatus(uMemStatus);
result := uMemStatus.dwAvailPhys;
end;


KSergey   (2003-05-22 16:17:00) [8]

Обсуждалось не так давно


KSergey   (2003-05-22 16:16:00) [9]

Нет


Raduga   (2003-05-22 16:10:00) [10]

Вообще такое возможно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо