Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

Непонятная утечка памяти   Найти похожие ветки 

 
Aleksandr.   (2004-08-17 13:34) [0]

Смотрел за памятью программы через диспетчер задач, и заметил оригинальное поведение - по ходу работы память растет-растет... Потом делаешь простейшую операцию - сворачиваешь окно программы в tray и опять разворачиваешь - и память, занимаемая ею, опять возвращается в изначальный размер. Существует реальная проблема - за несколько часов работы программа "выедает" все ресурсы компьютера (а освобождает их сворачиванием/разворачиванием, но не будешь же сидеть сутками и тыркать по трею). Что может вызывать такие "спецэффекты"?


 
VMcL ©   (2004-08-17 13:38) [1]

>>Что может вызывать такие "спецэффекты"?

Обычно, ошибка в программе.


 
WondeRu ©   (2004-08-17 13:43) [2]

Aleksandr.   (17.08.04 13:34)
проблемы с резервированием страниц памяти! С памятью как работаешь?


 
Aleksandr.   (2004-08-17 13:57) [3]

Ох, память юзается по-всякому. Прога вообще юзает почти все, что есть в программировании - и протоколы, и многопоточности, и базы данных разных драйверов. Это типа наш сервер, поэтому такой навороченный. Недавно я его перекомпилял под Д7 (из Д6), и поехала такая пестня. Только в теории я слаб, поэтому нельзя ли объяснить, что вы имеете в виду под "резервированием страниц"?


 
WondeRu ©   (2004-08-17 14:03) [4]

Aleksandr.   (17.08.04 13:57) [3]
у Подгорецкого на сайте есть Memory SDK на русском! Советую глянуть! www.podgoretsky.com


 
Aleksandr.   (2004-08-17 14:07) [5]

Хорошо. Кстати, истчо вопрос - ограничено ли как-то количество Event"ов, которые может юзать программа? У меня с десяток загруженных под полную WaitForMultipleObject, один семафор, ну и по ходу работы бывает под пару сотен одиночных Event"ов для WaitForSingleObject...


 
WondeRu ©   (2004-08-17 14:21) [6]

Aleksandr.   (17.08.04 14:07) [5]
это без проблем! должно работать нормально!


 
Erik1   (2004-08-17 14:24) [7]

Думаю, что с программой все в порядке, иначе никаким бы сворачиванием неполучилось вернуть память системе. Обычное незервирование страниц, только непонятно почему из освобожденых страниц неберется память. Возможно виновата фрагментация, это легко проверить MemoryChecker. Или вызовом функций диспечера памяти Borland.
 А зачем переходить на Delphi 7? Я вот тоже нездоровый интерес проявлял по переходу на D6 или D7 с Delphi 5. Попробовал получил в потоках ошибки, посмотрел системные библиотеки и понял, что мне это никогда непонадобится! Спокой сижу на пятерке, чего и вам советую.


 
Aleksandr.   (2004-08-17 14:54) [8]

Erik1:
А можно подробнее про фрагментацию? Объясните, пожалуйста, что мне конкретно нужно сделать, чтобы хотя бы проверить Вашу версию? Кстати, обратил внимание еще на следующее: перевожу программу в холостой режим (то есть она ничем не занимается, просто просматривает папки и слушает порты), память при разворачивании из tray сначала вырастает на метр, потом успокаивается. В визуальном окне программы находится TStringGrid из двух колонок - для ведения лога. Так вот при скроллинге по этой гриде память все время растет и не падает до очередного сворачивания/разворачивания. Соответственно, как я подозреваю, в рабочем режиме прирост памяти вызывается в той же опере. Это вообще нормально для StringGrid - такое поведение?


 
Aleksandr.   (2004-08-17 14:57) [9]

А по поводу перехода на Д7 - пришлось из-за МИДАСа. В Д7 там несколько больше и лучше возможности.


 
Erik1   (2004-08-19 10:13) [10]

Советую воспользоватся поисковиком и посмотреть различные MemCheck. А также почитать статьеи о диспечерах памяти.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1092750107
Labert
2004-08-17 17:41
2004.09.05
TClass


1-1092910930
ExpertTech
2004-08-19 14:22
2004.09.05
Считывание из text файла по одному символу


1-1093045746
nika_ufc
2004-08-21 03:49
2004.09.05
прошу помогите с фонтами. думаю об этом и статьу можна написать


6-1088698770
DelphiN!
2004-07-01 20:19
2004.09.05
как проверить соединение с интернетом на выделенной линии?


4-1090307619
Morj
2004-07-20 11:13
2004.09.05
Как узнать каталог Windows?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский