|
Тема |
System.OutOfMemory (c# + sql server) |
|
Автор |
North Of The Pride (top coder) |
|
Публикувано | 24.05.05 13:08 |
|
|
За съжаление не мога да опиша цялата среда защото се използват поне десетина търд парти сървиси и оле дб провайдъри но четох постинги за подобна грешка и без цялата камара сървиси така че си мисля че причината не е в тях.
Ситуацията е следната:
имам multithread readers които четат прости типове данни и картинки (ей това минава например през къстъм оле дб) на страници в един локален дейтасет
имам multithread writers които като видят че има порция (например 300) от редове достатъчни да се пише файл правят едни мулти пейдж тиф файлове.
след като мина 4 различни типа тестване това нещо е лайв в момента и се справя безупречно почти всеки ден.
Проблема се появява някаде около ред 500 000 - System.OutOfMemory в един Рийд метод.
Момчетата от МС се скъсват да твърдят че туй нещо в .нет не може да стане и добре че по разни не особено свързани теми успях да разбера че това може да е не заради самата памет а щото е свършила само част от нея например парчето отделено за файл хендлърс или стак хендлърс.
препоръката беше да се викне Dispose за всички IDisposable обекти ама аз имам само един и му го викам. Обаче като наближи ред 490хил-500хил някаде и пак си гърми.
За справка със 450000 реда си минава като пич.
Някой да е имал подобно изживяване?
Мерси ;)
marching on together
|
| |
|
|
|