Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.04;
Скачать: CL | DM;

Вниз

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

 
Raduga   (2003-05-22 15:24) [0]

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


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

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


 
KSergey ©   (2003-05-22 16:16) [2]

Нет


 
KSergey ©   (2003-05-22 16:17) [3]

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


 
yaJohn ©   (2003-05-22 16:19) [4]

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

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


 
clickmaker ©   (2003-05-22 16:36) [5]

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


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


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


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


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

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


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

AllocMemSize не поможет?


 
Anatoly Podgoretsky ©   (2003-05-22 20:16) [8]

Ну например DLL


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


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


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


 
Zelius ©   (2003-05-23 12:41) [10]

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



Страницы: 1 вся ветка

Текущий архив: 2003.08.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
14-10416
Dmitriy O.
2003-07-17 08:31
2003.08.04
Строковые матрицы как альтернатива Memo полям


14-10397
Soft
2003-07-17 12:08
2003.08.04
Российский программист судится с промышленным гигантом


11-10160
DNT
2002-11-30 17:44
2003.08.04
Без окна


1-10228
LLOyD
2003-07-19 22:35
2003.08.04
Электронная трассировка


3-10108
McSimm2
2003-07-14 14:12
2003.08.04
---|Ветка была без названия|---