![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как принудительно уменьшить объем памяти, занимаемый программой? [D7, WinXP]
Думатель © (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]Спасибо за ответы. Буду думать и искать дальше :)