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

Вниз

insufficient memory при большом числе обращений к БД   Найти похожие ветки 

 
data ©   (2004-08-25 17:22) [0]

Не сталкивался ли кто-нибудь со следующей проблемой:
приложение обращается к БД на чтение и добавление новых записей с частотой неск. раз в секунду. Когда общее число обращений приближается к 100 000 на очередном обращении вылетает ошибка insufficient memory to this operation, после этого такие ошибки начинают возникать при обращениях все чаще и чаще (абсолютно те же запросы до ошибки обрабатывются нормально), затем возникают при любом обращении и приложение падает. Иногда с ним падает и БДЕ. Выводила статистику (логи) по открытым-закрытым select - вроде все закрываются. Prepare - Unprepere тоже не помогает.
в http://bdn.borland.com/article/0,1410,25294,00.html написано поменять параметры в БДЕ. Да правильно, после их увеличения приложение живет дольше, но эффект все равно остается.
в http://bdn.borland.com/article/0,1410,21725,00.html вообще об утечке памяти. Все понятно, но как же побороть то :(? Может кто уже боролся?


 
data ©   (2004-08-25 17:24) [1]

Да, забыла еще написать, что при работе приложения с FireBird такого эффекта нет, нормально догонялись до 2 млн. записей, все было Ок.


 
Romkin ©   (2004-08-25 17:38) [2]

А так вы к чему обращаетесь?


 
saNat ©   (2004-08-25 17:41) [3]

Я сталкивался с данным сообщением при написании приложения в Delphi и запущенным SQL Explorer. После закрытия последнего можно было работать дальше без перезагрузки системы.
А SQL Explorer запускал заново
С уважением...


 
data ©   (2004-08-25 17:49) [4]

Romkin ©   (25.08.04 17:38) [2]
не совсем поняла вопрос:)
работаем через БДЕ.
Обращения идут частые на селект всего из одной таблицы. Запрос с параметром выбирает либо одну запись, либо ничего, таблица небольшая.
Запрос на внесение новых записей идет в другую таблицу, громадную.
Еще периодически идут запросы на выборку данных не из главного треда, а из других, но там вроде все нормально сделано: отдельная сессия. Выборка там из совершенно других таблиц.


 
data ©   (2004-08-25 17:52) [5]

saNat ©   (25.08.04 17:41) [3]
да, вполне возможно, т.к. такое сообщение возникает при большом количестве открытых Query или курсоров. a Explorer тоже как бы что-то открывает.
Проблема в том, что я закрываю запросы, но память все равно не освобождается.


 
jack128 ©   (2004-08-25 20:20) [6]

data ©   (25.08.04 17:49) [4]
Romkin ©   (25.08.04 17:38) [2]
не совсем поняла вопрос:)
работаем через БДЕ.

с чем работаете? Парадокс, dbf, ib ??


 
Aleksandr.   (2004-08-25 20:40) [7]

Я тут немного ниже задавал вопрос по той же проблеме - в многопоточном приложении, где каждый поток юзает БДЕ, возникала такая трабла. И мне дали ответ, что следует прирастить параметры БДЕ-админа:
Configuration\System\INIT: MAXBUFSIZE, MAXFILEHANDLES, SHAREDMEMSIZE.
Я их прирастил - сайзы загнал по 8192, а кол-во файлов - количество потоков +1. И все заработало в ажуре.


 
Aleksandr.   (2004-08-25 20:41) [8]

ЗЫ. совет давал Rusa.


 
data ©   (2004-08-26 10:29) [9]

Aleksandr.  
работаем с Оракл
когда приращиваю параметры в админе, то время жизни просто увеличивается пропорционально, эффект остается.

ночной прогон показал, что дело было в постоянных селектах (раз 5-10) в секунду, которые правда корректно открываются и закрываются. Буду пытаться что-то с ними крутить (может уберу вовсе), получится - напишу.


 
Sergey13 ©   (2004-08-26 10:41) [10]

2[9] data ©   (26.08.04 10:29)
>Prepare - Unprepere тоже не помогает.
>ночной прогон показал, что дело было в постоянных селектах (раз 5-10) в секунду
А текст формируется динамически или используются параметры? Не первышается ли количество одновременно открытых курсоров на сервере (хотя это вряд ли - ошибка была бы другая вроде)?


 
data ©   (2004-08-26 10:53) [11]

Sergey13 ©  
текст один и тот же, запрос создан в дизайн тайме с постоянным текстом и параметром.
Схема такая: назначаем параметр, открываем, смотрим необходимое, закрываем. Все из главного треда, но 5-10 раз за секунду.
Наверное какая-то память просто не успевает освободиться ИМХО. Сейчас попробую делать для Query этого Create-Free в рантайме для каждого обращения и еще c Prepare-Unprepare покручу


 
Sergey13 ©   (2004-08-26 10:56) [12]

А если это в ХП засунуть?



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

Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.05 c
3-1093929190
Andrey V.
2004-08-31 09:13
2004.09.26
Вопрос о DbGrid


1-1094894316
zero-g
2004-09-11 13:18
2004.09.26
Как поймать курсор в RichEdit


3-1093416778
Koala
2004-08-25 10:52
2004.09.26
Как отловить Exception


3-1093838283
BlackSun
2004-08-30 07:58
2004.09.26
Проблемы с подключением к dbf-файлу


1-1095074515
FileManager
2004-09-13 15:21
2004.09.26
Атрибуты файлов





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