Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
7-10463
Navi
2003-05-11 19:37
2003.08.04
Не доступен COM1


1-10252
gSergei
2003-07-21 13:57
2003.08.04
Поиск файла


1-10217
Kair
2003-07-19 09:45
2003.08.04
Кнопка на панели задач


3-10092
LePeR
2003-07-13 19:49
2003.08.04
AACS или FE


3-10094
Fast
2003-07-12 21:44
2003.08.04
ADOTable.Delete




   Наверх