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

Вниз

Запись в файл и расход памяти   Найти похожие ветки 

 
Darvin   (2009-04-14 16:41) [0]

Здравствуйте!
Делаю логирование некоторых событий в файлы. Запись делается примерно 20 - 50 раз в секунду. Файлы ограничены по длине, при достижении заданной длины, меняется FFileName, пишем в другой файл. Записываю следующим образом:


var
 HFile : File;
 FBuffer : array of Byte;

begin
 ...
 AssignFile ( HFile, FFileName );
 if FileExists ( FFileName ) then
 begin
   Reset ( HFile, 1 );
   Seek ( HFile, FileSize(HFile) );
 end
 else
   Rewrite ( HFile, 1 );
 if Length(FBuffer) > 0 then
   BlockWrite ( HFile, FBuffer[0], FDataPnt );
 CloseFile ( HFile );


При этом увеличивается расход памяти приложением в момент смены имени файла, начала записи в другой файл. Если писать в один файл, то память не расходуется.
Полагаю, что расход памяти связан с тем, что я не "отдаю" системе дескриптор файла. Как можно решить эту проблему?


 
Palladin ©   (2009-04-14 16:43) [1]

Здесь рыбы нет!


 
Darvin   (2009-04-14 16:48) [2]

?


 
Riply ©   (2009-04-14 18:13) [3]

> [2] Darvin   (14.04.09 16:48)
> ?

Возможно, Palladin имел ввиду первую заповедь рыболова: "Ловить рыбу там, где она есть" ? :)
(Иными словами, искать утечку в другом месте)


 
sniknik ©   (2009-04-14 18:45) [4]

> Возможно, Palladin имел ввиду первую заповедь рыболова:
это не заповедь, это анекдот. про директора катка.


 
DVM ©   (2009-04-14 18:48) [5]


> При этом увеличивается расход памяти приложением

где смотришь?


 
Riply ©   (2009-04-14 19:33) [6]

> [4] sniknik ©   (14.04.09 18:45)
> это не заповедь, это анекдот. про директора катка.

Вот черт ! Даже здесь у меня пробелы в образовании :)


 
Slym ©   (2009-04-15 05:15) [7]

Palladin ©   (14.04.09 16:43) [1]
почему нет?
может IOResult нехороший, а игнорится


 
Palladin ©   (2009-04-15 07:36) [8]


> Slym ©   (15.04.09 05:15) [7]

Нехороший IOResult обычно вызывает исключение.


 
Darvin   (2009-04-21 15:21) [9]

Прошу прощения, что долго молчал, был в отъезде.
> DVM
Смотрю диспетчером задач.
> all
Рыбы там, похоже, нет. Но есть другое интересное наблюдение. Запускаю некое приложение, которое ничего не делает и сворачиваю его. Смотрю там же. Пока ничего не делаю на компьютере память этим приложением не расходуется. Как только начинаю запускать разные приложения, начинает расти расход памяти для этого приложения. С чем это может быть связано?


 
DVM ©   (2009-04-21 15:25) [10]


> Darvin   (21.04.09 15:21) [9]


> Смотрю диспетчером задач.

Это не лучший вариант. К тому же там надо смотреть столбец виртуальная память. Там несколько странные показания, утечку на них не поймаешь.

Лучше взять FastMM4 или еще лучше MemProof.


 
Darvin   (2009-04-21 15:48) [11]

спасибо



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

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

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1238837032
Minimaltower
2009-04-04 13:23
2009.06.07
Нумерация страниц начиная с третьей в Open Office 3 Write кто знает ПОМОГИТЕ !


10-1158422614
aglar
2006-09-16 20:03
2009.06.07
Вставить слово в ворд.. не знаю даже, с чего начать...


15-1238617804
Юрий
2009-04-02 00:30
2009.06.07
С днем рождения ! 2 апреля 2009 четверг


4-1210848857
nick_sniper2
2008-05-15 14:54
2009.06.07
Как остановить "завершение работы Windows"?


2-1240454821
vegarulez
2009-04-23 06:47
2009.06.07
Вопрос про Zquery+ while not EOF





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский