[BUG] System.OutOfMemoryException


[BUG] System.OutOfMemoryException
Atom
7/29/2011


При тестировании на истории через пару виртуальных дней стабильно валится с эксепшном:
Exception of type 'System.OutOfMemoryException' was thrown

Я пробовал делать:
Code
	
		GC.Collect();
		GC.WaitForPendingFinalizers();

каждый виртуальный час - не помогло.

Валится обычно либо на AddInfoLog либо в нердах MarketDepthGenerator'а

Похоже что кто-то накапливает объекты и не отдает их.

Если подскажете как локализовать проблему попробую это сделать.



Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 8/1/2011
Reply


President Go to
Если подскажете как локализовать проблему попробую это сделать.


Наверное проще всего - это профайлером. А так общие вопросы. Сколько инструментов используете при тестировании? Стратегия строит свечки?
Thanks:

Garic

Avatar
Date: 8/1/2011
Reply


Перешёл на 3.2.5 - у меня тоже вылетает :(
Пример - Гидра, показать сделки по RIH1 за период 01.12.2010-15.03.2011
Вылетает на получении Trades GetTradeStorage(security).Load.

Примерно можно загрузить чуть более миллиона записей - дальше OutOfMemory. В старой верии (3.1.3) выгружалось без проблем.
Память растёт где-то до 1,2гига, больше почему-то не хавает - это нормально?
Система Win7 32bit.

Ещё заметил - если выгрузить сначала сделки по одному инструменту (меньше млн.), потом ещё по другому - аналогично - почему-то не освобождается память.
Thanks:

President

Avatar
Date: 8/2/2011
Reply


Mikhail Sukhov Go to
President Go to
Если подскажете как локализовать проблему попробую это сделать.


Наверное проще всего - это профайлером. А так общие вопросы. Сколько инструментов используете при тестировании? Стратегия строит свечки?


какой профайлер посоветуете?

инструментов - падает даже на 2х
про свечки - падает даже без них
я комментарил вообще большую часть кода - оставлял только почти пустой OnProcess и все равно падает
у меня предположение что это происходит из-за генерации стакана (т.к. иногда выдает что памяти не хватило на CreateQuote гдето в глубинах генерения стакана)



Thanks:

Евгений

Avatar
Date: 8/18/2011
Reply


President Go to
Mikhail Sukhov Go to
President Go to
Если подскажете как локализовать проблему попробую это сделать.


Наверное проще всего - это профайлером. А так общие вопросы. Сколько инструментов используете при тестировании? Стратегия строит свечки?


какой профайлер посоветуете?

инструментов - падает даже на 2х
про свечки - падает даже без них
я комментарил вообще большую часть кода - оставлял только почти пустой OnProcess и все равно падает
у меня предположение что это происходит из-за генерации стакана (т.к. иногда выдает что памяти не хватило на CreateQuote гдето в глубинах генерения стакана)





Получилось у кого-нибудь локализовать проблему? У меня тоже вылетает (((
Thanks:

Mikhail Sukhov

Avatar
Date: 8/18/2011
Reply


Евгений Go to
Получилось у кого-нибудь локализовать проблему? У меня тоже вылетает (((


Даже на последних версиях?
Thanks:

Евгений

Avatar
Date: 8/18/2011
Reply


Mikhail Sukhov Go to
Евгений Go to
Получилось у кого-нибудь локализовать проблему? У меня тоже вылетает (((


Даже на последних версиях?


Да, у меня 3.2.9.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/18/2011
Reply


Евгений Go to
Mikhail Sukhov Go to
Евгений Go to
Получилось у кого-нибудь локализовать проблему? У меня тоже вылетает (((


Даже на последних версиях?


Да, у меня 3.2.9.


x64 или x86? Сколько памяти по таск манагеру начинает кушать приложение? Попробуйте уменьшить потоки загрузки и кол-во дней в памяти (описано в доке chm раздел Тестирование на истории).
Thanks:

Евгений

Avatar
Date: 8/19/2011
Reply


Mikhail Sukhov Go to
Евгений Go to
Mikhail Sukhov Go to
Евгений Go to
Получилось у кого-нибудь локализовать проблему? У меня тоже вылетает (((


Даже на последних версиях?


Да, у меня 3.2.9.


x64 или x86? Сколько памяти по таск манагеру начинает кушать приложение? Попробуйте уменьшить потоки загрузки и кол-во дней в памяти (описано в доке chm раздел Тестирование на истории).


У меня x64. По умолчанию были следующие параметры LoadingThreadCount=3. Количество ядер у меня 2 плюс 2 виртуальных. А вот с DaysInMemory не понял. Стояло 15. Хотя в описание для x64 должно быть 10. Вообщем постепенно уменьшал потоки и дни программа все равно висла. Последний тест был поток=1, дни=2. Памяти было свободно 1600 зависло на уровне 340. Первые тесты делал было 1250 и вылетало при отсутствии свободной памяти.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/19/2011
Reply


Евгений Go to

У меня x64. По умолчанию были следующие параметры LoadingThreadCount=3. Количество ядер у меня 2 плюс 2 виртуальных. А вот с DaysInMemory не понял. Стояло 15. Хотя в описание для x64 должно быть 10. Вообщем постепенно уменьшал потоки и дни программа все равно висла. Последний тест был поток=1, дни=2. Памяти было свободно 1600 зависло на уровне 340. Первые тесты делал было 1250 и вылетало при отсутствии свободной памяти.


Не совсем понятно... Висит или вылетает?
Thanks:

Евгений

Avatar
Date: 8/19/2011
Reply


Mikhail Sukhov Go to
Евгений Go to

У меня x64. По умолчанию были следующие параметры LoadingThreadCount=3. Количество ядер у меня 2 плюс 2 виртуальных. А вот с DaysInMemory не понял. Стояло 15. Хотя в описание для x64 должно быть 10. Вообщем постепенно уменьшал потоки и дни программа все равно висла. Последний тест был поток=1, дни=2. Памяти было свободно 1600 зависло на уровне 340. Первые тесты делал было 1250 и вылетало при отсутствии свободной памяти.


Не совсем понятно... Висит или вылетает?


У меня сначала была включена студия и свободной памяти было меньше изначально, во время тестирования доходило до 0 и вылетало. А потом я высвободил - изначально стало 1600. Зависло на уровне 340.
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy