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

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

Как принудительно уменьшить объем памяти, занимаемый программой? [D7, WinXP]


Страницы:   1 2

Думатель ©   (2008-01-29 06:49:00) 

День добрый.

Ситуация такая: в процессе работы программы объем занимаемой памяти (судя по task manager) растет медленно, но верно. Доходит до 500Мб через 4 часа и программа умирает.

Утечек памяти нет! Проверял 2 профилерами (memcheck и последняя EurekaLog). Все создаваемые объекты уничтожаются нормально.

Вот только в программе довольно часто происходят ASSIGN'ы графических объектов друг другу, думаю именно тут проблема.

Вопрос такой: есть ли методы принудительной очистки ресурсов приложения? Сборка мусора или что-то похожее...

Спасибо.


homm   (2008-01-29 21:41:00) [1]

> [19] ANB ©   (29.01.08 13:34)
> После того как у меня программа сожрала за 2 часа работы
> 1,5 гигабайта и сдохла я больше не пользуюсь без совсем
> уж необходимости "красивыми" компонентами.

Это тебе нужео было моими компонентами пользоваться :) Вот только, боюсь, под VCL я наверное уже не портирую их уже никогда.


Anatoly Podgoretsky   (2008-01-29 14:12:00) [2]

> Думатель  (29.01.2008 12:46:13)  [13]

Ну ну. и при этом говоришь про графику, знаешь сколько там подводных камней с ресурсами.


Anatoly Podgoretsky   (2008-01-29 14:12:00) [3]

> homm  (29.01.2008 12:28:12)  [12]

Я отвечаю на заданный вопрос, ну а последствия тяжелы, просто это бессмысленно, ну освободит, а программа снова в судорогах займет. Но на какое то время он получит удовлетворение, а для чего оно ему нужно я не знаю, не Фрейд.


Kolan   (2008-01-29 13:59:00) [4]

> ЗЫ. Заменил прогресс бар на штатный и программа за сутки
> работы больше 100 метров не наедала.

Это, на самом деле, страшно…


ANB   (2008-01-29 13:34:00) [5]


> Да нету утечек! Я что, среди 10 создаваемых объектов не
> могу отследить корректное их удаление?

Я раз для красивости прикрутил девэкспрессовский прогресс бар.
:)
После того как у меня программа сожрала за 2 часа работы 1,5 гигабайта и сдохла я больше не пользуюсь без совсем уж необходимости "красивыми" компонентами.
:)
ЗЫ. Заменил прогресс бар на штатный и программа за сутки работы больше 100 метров не наедала.


Игорь Шевченко   (2008-01-29 13:29:00) [6]


> Ситуация такая: в процессе работы программы объем занимаемой
> памяти (судя по task manager) растет медленно, но верно.
>  Доходит до 500Мб через 4 часа и программа умирает.


Ищи утечку. Она есть.


Kolan   (2008-01-29 13:14:00) [7]

Утечек, которые показывают профайлеры может и нет. Может ты перед закрытием все освобождаешь.
Но в процессе работы, ты ненужное не мочишь… Ищи где такие места могут быть.


homm   (2008-01-29 13:11:00) [8]

> [13] Думатель   (29.01.08 12:46)

Ты случайно не с CLX под дельфи 6 пишеш? :)


Riply   (2008-01-29 12:58:00) [9]

>  [13] Думатель   (29.01.08 12:46)
> Да нету утечек! Я что, среди 10 создаваемых объектов не могу отследить корректное их удаление?

Чудес не бывает :)


Palladin   (2008-01-29 12:57:00) [10]


> Да нету утечек!

Я верю - из тебя получится отличный писать-фантаст.


Думатель   (2008-01-29 12:46:00) [11]


> Ищи утечки. Уже задали.

Да нету утечек! Я что, среди 10 создаваемых объектов не могу отследить корректное их удаление?


homm   (2008-01-29 12:28:00) [12]

> [11] Anatoly Podgoretsky ©   (29.01.08 12:26)

Блин, ну у человека явно память течет, вы предлагаете ему сделать так, что бы таскман на это закрыл глаза и жить дальше. Это же не Ваш метод.


Anatoly Podgoretsky   (2008-01-29 12:26:00) [13]

В АПИ есть функция управления рабочим пространством, имя не помню, чтото похожее на setworkingspace


homm   (2008-01-29 11:54:00) [14]

> [9] Думатель   (29.01.08 11:53)
> Мне бы только направление поиска задать

Ищи утечки. Уже задали.


Думатель   (2008-01-29 11:53:00) [15]


> Anatoly Podgoretsky ©   (29.01.08 10:51) [8]
> Так какой, из двух, ты именно ты хочешь уменьшить?

Да хотя бы любой :(
В идеале - оба.
Мне бы только направление поиска задать - я найду решение... надеюсь...


Anatoly Podgoretsky   (2008-01-29 10:51:00) [16]

Так какой, из двух, ты именно ты хочешь уменьшить?


homm   (2008-01-29 10:46:00) [17]

> [5] Anatoly Podgoretsky ©   (29.01.08 10:35)
> Какой именно памяти?

Надо пологать, оперативной.


Думатель   (2008-01-29 10:40:00) [18]


> Какой именно памяти?


Глядя на task manager - просто "ПАМЯТЬ" И "ВИРТУАЛЬНАЯ ПАМЯТЬ"
Растут оба параметра. Примерно 50 на 50


Anatoly Podgoretsky   (2008-01-29 10:35:00) [19]

> Думатель  (29.01.2008 06:49:00)  [0]

Какой именно памяти?


Думатель   (2008-01-29 10:32:00) [20]

Спасибо за ответы. Буду думать и искать дальше :)


Страницы:   1 2

Наверх

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