Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > освобождение оперативной памяти


Автор: Андрей Гусев 1.6.2005, 13:31
smile
[[email protected]]Я работаю под Windows 2000. У меня считается большая вычислительная задача. Периодически записываютя результаты на диск. Оперативная память забивается. После записи результатов на диск, память не освобождается и программа вылетает. Я пробовал использовать различные программы по освобождению оперативной памяти, но они для моего количества расчетов практически не помогают. Помогите! Неужели нет способа эффективно освобождать оперативную память в Windows?
С уважением, Андрей.
[/email] smile

Автор: Akella 1.6.2005, 14:25
На чем пишешь? Это твоя программа? Нужно грамотно освобождать ресурсы после расчетов. Иначе никакие менеджеры памяти не помогут.

Автор: Андрей Гусев 1.6.2005, 16:33
Пишу на Фортране. Советуешь прямо в программе после записи освобождать место? Андрей.

Автор: Akina 1.6.2005, 17:38
Любые менеджеры памяти - фикция и только ухудшают состояние дел. Их алгоритм - захватить побольше кусок памяти (принудительно заставить VMM выполнить garbage collection) и потом отдать его одним куском. Однако это порождает сброс части данных в своп и тормоза.

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

Автор: Андрей Гусев 1.6.2005, 17:53
Спасибо! Буду думать над программой! smile

Автор: Kolia 2.6.2005, 01:30
Цитата(Akina @ 1.6.2005, 17:38)
В программе надо самому руками следить за выделением и своевременным высвобождением памяти

Истина, истина. На каждый new должен быть свой delete. А в твоем случае allocate на deallocate, если мне память не изменяет. Надо за всем следить самому и не доверять всяким сборщикам мусора. В противном случае это не программа, а помойка

Автор: batigoal 2.6.2005, 09:37
Цитата(Kolia @ 2.6.2005, 02:30)
Надо за всем следить самому и не доверять всяким сборщикам мусора. В противном случае это не программа, а помойка

Это смотря на чем пишешь.

Автор: Незнайка 2.6.2005, 11:50
А файл подкачки?

Автор: Akina 2.6.2005, 11:57
Цитата
А файл подкачки?

Ты о чем? тормоз - это медленный газ? smile для этого http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml существует.

Автор: Андрей Гусев 2.6.2005, 13:45
smile Спасибо! Попробую идею насчет allocate и deallocate.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)