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

Вниз

Обрезание хвостов.   Найти похожие ветки 

 
Лана Розанова   (2002-04-16 12:21) [0]

Всем привет.
Проблема состоит в следующем:
При циклическом опросе с интервалом в 1 сек. за единицу времени происходит вызов базы данных, дополнение ее новой строкой и ее закрытие. На следующем шаге происходит вызов другой БД и так N-раз. Так вот. Программа потихоньку набирает вес в памяти, а это недопустимо из-за ее круглосуточной работы.
Может кто поможет справиться с этим?
СПАСИБО!!!


 
Anatoly Podgoretsky   (2002-04-16 12:23) [1]

Приведи код


 
REA   (2002-04-16 13:25) [2]

Урежь файловый кэш: MaxFileCache в System.ini
по-умолчанию такой настройки нет и виндовс жрет память.
и базу закрывать кстати не обязательно, если в BDE поставить LocalShare = True


 
Лана Розанова   (2002-04-16 14:47) [3]

Anatoly Podgoretsky

Table1.DatabaseName:=MyPath+"DBChartDan\"+dates;
Table1.TableName:=dates+"("+inttostr(i1)+").db";
Table1.Active:=true;
FormatDateTime(LongTimeFormat,Now);
Table1.Last;
Table1.Insert;
Table1Time.Value:=timetostr(time);
Table1Referense.Value:=ParMot[1];
Table1FeedBack.Value:=ParMot[2];
Table1Freq.Value:=ParMot[3];
Table1Curr.Value:=ParMot[4];
Table1PowerW.Value:=ParMot[5];
Table1PowerHP.Value:=ParMot[6];
Table1VoltM.Value:=ParMot[7];
Table1VoltDC.Value:=ParMot[8];
Table1TempM.Value:=ParMot[9];
Table1TempVLT.Value:=ParMot[10];
Table1PulseRef.Value:=ParMot[11];
Table1TempRad.Value:=ParMot[12];
Table1.Post;
Table1.Close;


 
Лана Розанова   (2002-04-16 14:53) [4]

REA

Где это такое - MaxFileCache в System.ini?
И где поставить в BDE поставить LocalShare = True если я не использую BDE?

Может вопросы некорректны, но я что-то не понимаю.


 
Anatoly Podgoretsky   (2002-04-16 15:26) [5]

В твоем коде нет ничего криминальногоЮ только вот вместо
Table1.Last;
Table1.Insert;

Лучше
Table1.Append;

Возможно проблема действительно в дисковом кеше, это характерно для Win9x, но с ним можно бороться так

[vcache]
MinFileCache=16384
MaxFileCache=16384



 
Лана Розанова   (2002-04-16 16:33) [6]

Anatoly Podgoretsky

[vcache]
MinFileCache=16384
MaxFileCache=16384

Объясните пожалуйста, где это написать?


 
REA   (2002-04-17 10:30) [7]

Уверены, что не используете BDE? Файл-то вроде db (Paradox)


 
gek   (2002-04-17 10:36) [8]

Ну Anatoly Podgoretsky правильно написал
А все это дело ставить в с:\windows\system.ini
По умолчанию там пустой блок [vcache]


 
Anatoly Podgoretsky   (2002-04-17 14:12) [9]

В дополнение к ответу gek цифры это минимальный и максиальный размере кеша в килобайтах, и чем больще памяти на компьютере, тем хуже себя ведет кеш, увеличивать размер не рекомендую


 
Лана Розанова   (2002-04-18 12:11) [10]

Anatoly Podgoretsky

Пробовала, но все равно идет накопление. Может проблема в самой WinNT?


 
Лана Розанова   (2002-04-18 12:14) [11]

;


 
Елена   (2002-04-18 13:03) [12]

Я, конечно, могу ошибаться, но если используется Table, который унаследован от TBDEDataSet, то и BDE используется.


 
Толик   (2002-04-18 13:40) [13]

to Лана Розанова ©:
1. Если используется компонент TTable, то BDE используется всегда (конечно если TTable - компонент от Borland).
2. "...При циклическом опросе с интервалом в 1 сек. за единицу времени происходит вызов базы данных..." - это каждую секунду открывается и закрывается база??? Если это так, то проблема скорее всего здесь. Дело в том, что открытие и закрытие БД - процесс довольно долгий для одной секунды, м.б. здесь и происходит утечка ресурсов (открыли, закрыть не успели, а открываем снова), IMHO. М.б. имеет смысл базу держать открытой постоянно, а по мере надобности туда всё записывать?


 
Лана Розанова   (2002-04-20 20:19) [14]

Сделала одну БД в которую записывается раз в секунду данные, и которая постоянно открыта. Все равно размеры программы в памяти увеличиваются.



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

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

Наверх





Память: 0.47 MB
Время: 0.004 c
7-2705
Макс
2002-02-05 17:48
2002.05.02
Получение изображений со сканера


1-2617
Афоня
2002-04-18 13:31
2002.05.02
Как создать калькулятор


1-2525
Коля
2002-04-17 02:26
2002.05.02
GetDir???


3-2463
Sewix
2002-04-09 14:56
2002.05.02
Sql запрос как выбрать все поля кроме конкретного одного


3-2491
Скалли
2002-04-11 13:53
2002.05.02
Подход к сложной выборке





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