CrossTab System.OutOfMemory
Re: CrossTab System.OutOfMemory
Здравствуйте, Леонид.
Мы сделали небольшую оптимизацию. Теперь памяти расходуется примерно в 1,5 раза меньше.
Есть некоторые ограничения движка Cross-tab, которые не позволяют сделать дальнейшую оптимизацию.
Движок требует полной переписки. Эта задача в нашем to-do списке. Она требует больших трудозатрат и может вызвать множество новых и уже решённых старых проблем.
Пока мы не можем больше ничего сделать. Проверьте наш следующий предрелизный билд.
Спасибо.
Мы сделали небольшую оптимизацию. Теперь памяти расходуется примерно в 1,5 раза меньше.
Есть некоторые ограничения движка Cross-tab, которые не позволяют сделать дальнейшую оптимизацию.
Движок требует полной переписки. Эта задача в нашем to-do списке. Она требует больших трудозатрат и может вызвать множество новых и уже решённых старых проблем.
Пока мы не можем больше ничего сделать. Проверьте наш следующий предрелизный билд.
Спасибо.
Re: CrossTab System.OutOfMemory
Добрый день!
Скомпилировали копию проекта под версию 2015.1.0.0. Выводы такие: действительно стало быстрее, и можно выбрать данные за бОльший период. Однако, выборка данных даже за два месяца (данных опять-таки там немного, о чём мы говорили с вами в предыдущих постах) даёт тоже самое исключение. На данный момент такой расклад пока устраивает наших пользователей данного отчёта, но мы пока не планируем переходить на версию x64, да и больше 4 Gb RAM ни у кого из пользователей не стоит.
В любом случае, в ближайшее время перейдём на последнюю версию. Спасибо!
Скомпилировали копию проекта под версию 2015.1.0.0. Выводы такие: действительно стало быстрее, и можно выбрать данные за бОльший период. Однако, выборка данных даже за два месяца (данных опять-таки там немного, о чём мы говорили с вами в предыдущих постах) даёт тоже самое исключение. На данный момент такой расклад пока устраивает наших пользователей данного отчёта, но мы пока не планируем переходить на версию x64, да и больше 4 Gb RAM ни у кого из пользователей не стоит.
В любом случае, в ближайшее время перейдём на последнюю версию. Спасибо!
Re: CrossTab System.OutOfMemory
Здравствуйте, Леонид.
Пишите, если нужна будет дополнительная помощь.
Спасибо.
Пишите, если нужна будет дополнительная помощь.
Спасибо.
Re: CrossTab System.OutOfMemory
Добрый вечер!
Снова возникла проблема OutOfMemory на отчётах с CrossTab'ами.
Коротко о главном. Возникает на Core2Duo Win7 x32 с 2 Gb RAM, на i3 Win7 x64 с 4 Gb RAM проблема не появляется. Между тем, тестировал на своём i7 18Gb RAM и Win10 x64, - удивительно, но проблема так же появляется.
Наши пользователи жалуются, что не могут вывести большой отчёт за год. Для примера можно взять тот же отчёт из архива, который я прикреплял к одному из постов в этой ветке, и скопировать data.xml несколько раз сам в себя, чтобы из 44Mb получилось примерно 450Mb.
То есть, по сути, проблема даже не в памяти, т.к. на 18 Gb мы получаем fail.
Запускаем, получаем ошибку, как на скриншоте в приложении.
Да, мы помним, что вы говорили, о том, что:
Что можно сделать в данном случае? Возможно ли использование файла подкачки при рендеринге отчётов, когда основная (RAM) заканчивается, чтобы не получать OutOfMemoryException.
Снова возникла проблема OutOfMemory на отчётах с CrossTab'ами.
Коротко о главном. Возникает на Core2Duo Win7 x32 с 2 Gb RAM, на i3 Win7 x64 с 4 Gb RAM проблема не появляется. Между тем, тестировал на своём i7 18Gb RAM и Win10 x64, - удивительно, но проблема так же появляется.
Наши пользователи жалуются, что не могут вывести большой отчёт за год. Для примера можно взять тот же отчёт из архива, который я прикреплял к одному из постов в этой ветке, и скопировать data.xml несколько раз сам в себя, чтобы из 44Mb получилось примерно 450Mb.
То есть, по сути, проблема даже не в памяти, т.к. на 18 Gb мы получаем fail.
Запускаем, получаем ошибку, как на скриншоте в приложении.
Да, мы помним, что вы говорили, о том, что:
Билд почти последний, а именно 2016.1.12.0. Но это не решает нашу проблему в данном случае, т.к. пользователи жалуются, и это не один и не два человека, в регионах у нас много относительно старого железа, которое пока не планируют обновлять.Мы сделали небольшую оптимизацию. Теперь памяти расходуется примерно в 1,5 раза меньше.
Есть некоторые ограничения движка Cross-tab, которые не позволяют сделать дальнейшую оптимизацию.
Движок требует полной переписки. Эта задача в нашем to-do списке. Она требует больших трудозатрат и может вызвать множество новых и уже решённых старых проблем.
Пока мы не можем больше ничего сделать. Проверьте наш следующий предрелизный билд.
Что можно сделать в данном случае? Возможно ли использование файла подкачки при рендеринге отчётов, когда основная (RAM) заканчивается, чтобы не получать OutOfMemoryException.
- Вложения
-
- exception.jpg (139.67 КБ) 5893 просмотра
-
- stack_trace.txt
- (2.93 КБ) 543 скачивания
Re: CrossTab System.OutOfMemory
Добрый день!
Провели ещё некоторые эксперименты. Сделали полностью рабочий пример, однако, когда вынесли его в отдельный совсем простой проект для запуска, почему-то при рендеринге пишет "Column 0 not found", в остальном он полностью рабочий, т.е. отчёт взят из реальной базы, как и данные (только немного "обсусцированные").
Пример в приложении, в директории \bin содержит следующие файлы:
1) data.mrt (сам отчёт);
2) data.xml (данные в .xml (~189Mb, это реальная выборка за год, только данные взяли рандомные по некоторым полям, т.к. мы не можем их "светить"));
3) data.xsd (схема данных);
4) data.dct (словарь данных).
Провели ещё некоторые эксперименты. Сделали полностью рабочий пример, однако, когда вынесли его в отдельный совсем простой проект для запуска, почему-то при рендеринге пишет "Column 0 not found", в остальном он полностью рабочий, т.е. отчёт взят из реальной базы, как и данные (только немного "обсусцированные").
Пример в приложении, в директории \bin содержит следующие файлы:
1) data.mrt (сам отчёт);
2) data.xml (данные в .xml (~189Mb, это реальная выборка за год, только данные взяли рандомные по некоторым полям, т.к. мы не можем их "светить"));
3) data.xsd (схема данных);
4) data.dct (словарь данных).
- Вложения
-
- StiCrossTabTest3.7z
- Тестовый пример
- (1.12 МБ) 279 скачиваний
Re: CrossTab System.OutOfMemory
Здравствуйте,
Спасибо за детальное описание проблемы.
Необходимо некоторое время для анализа.
Спасибо.
Спасибо за детальное описание проблемы.
Необходимо некоторое время для анализа.
Спасибо.
Re: CrossTab System.OutOfMemory
Добрый день!
Попробовали установить перед запуском отчёта вот этот (рекомендованный вами) код:Но увы, не помогло.
Попробовали установить перед запуском отчёта вот этот (рекомендованный вами) код:
Код: Выделить всё
StiOptions.Engine.ReportCache.AmountOfProcessedPagesForStartGCCollect = 2; // default 20
StiOptions.Engine.ReportCache.AmountOfQuickAccessPages = 5; // default 50
Re: CrossTab System.OutOfMemory
Здравствуйте,
Мы работаем над данной проблемой.
Так же на данный момент, мы делаем полный рефакторинг компонента Кросс-Таблица. Уже много моментов оптимизировано и исправлено.
В течении нескольких билдов изменения будут доступны.
Спасибо.
Мы работаем над данной проблемой.
Так же на данный момент, мы делаем полный рефакторинг компонента Кросс-Таблица. Уже много моментов оптимизировано и исправлено.
В течении нескольких билдов изменения будут доступны.
Спасибо.
Re: CrossTab System.OutOfMemory
Добрый день!
Сообщите, пожалуйста, здесь, когда изменения будут доступны для скачивания в соответствующем билде.
Сообщите, пожалуйста, здесь, когда изменения будут доступны для скачивания в соответствующем билде.
Re: CrossTab System.OutOfMemory
Здравствуйте,
Мы еще работаем над данной проблемой.
Также были сделаны некоторые фиксы, улучшения по построению Кросс-Таблицы. Будут доступны в следующем билде сегодня.
Спасибо.
Мы еще работаем над данной проблемой.
Также были сделаны некоторые фиксы, улучшения по построению Кросс-Таблицы. Будут доступны в следующем билде сегодня.
Спасибо.