Главная страница
    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.86 MB
Время: 0.023 c
4-2727
JAndrey
2002-02-28 07:11
2002.05.02
Как запустить и остановить Скрин Сервер?


7-2689
Borisb69
2002-02-06 11:22
2002.05.02
Как расшарить диск


3-2465
Tolstomordik
2002-04-11 10:00
2002.05.02
Сохранение результатов SQL-запроса во внешний файл.


3-2481
СергейКнязев
2002-04-11 12:44
2002.05.02
Как создать дерево данных из таблицы


14-2677
Андрей Сенченко
2002-03-26 17:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский