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

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

Out of memory после полумесяца работы программы.


Страницы:   1 2 3

Дмитрий Белькевич ©   (2011-06-07 10:46:00) 

Утечек памяти нет (судя по эврикалог). Out of memory случается где-то на 10-15 день работы приложения. Случается при попытке выделения памяти под динамический массив:

SetLength(FBuff16, AllocSLiceSz div 2);

AllocSLiceSz равен 31768000, т.е. выделяется около 31 мб.

Использую менеджер памяти FastMM.

Вопросов, как обычно, два - кто виноват и что делать...


RWolf   (2011-06-07 13:55:00) [41]

или создавать, но не из-под FastMM, а средствами ОС.


Sha   (2011-06-07 13:50:00) [42]

Можно его не удалять, чтобы потом не создавать.


RWolf   (2011-06-07 13:14:00) [43]

это какой-то временный буфер? может, размещать его на стеке?


QAZ   (2011-06-07 13:02:00) [44]

а зачем эврика если FastMM сам все тожет определять


Ega23   (2011-06-07 11:50:00) [45]


> Случается при попытке выделения памяти под динамический
> массив:


Фрагментация.
Как вариант - либо перезапускать время от времени, либо сразу здоровый массив выделить на 100 мб и работать с ним постоянно, без реаллоков.


clickmaker   (2011-06-07 11:14:00) [46]

> что делать

как вариант - перезапускать раз в несколько суток (планировщиком задач, к примеру)
Либо пересмотреть логику распределения памяти


Anatoly Podgoretsky   (2011-06-07 11:02:00) [47]

Странный вопрос "кто виноват", ответ бить. На лицо фрагментация памяти.


Страницы:   1 2 3

Наверх

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