Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
#1

Ошибка: Out of memory. /LARGEADDRESSAWARE - C++

30.12.2015, 09:34. Просмотров 458. Ответов 10

Добрый день.
Возникла такая проблема: есть приложения в которой строиться отчет и отчет съедает много памяти > 4gb.
Флаг компилятора /LARGEADDRESSAWARE помог увеличить обьем памяти в 2 раза.. но этого мало. Приложение падает.
OC: Win 8 x64.
Приложение: x32

Можно ли как-нибудь еще увеличить обьем памяти?

Пересобрать приложение под x64 - вариант не подходит
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
30.12.2015, 14:36     Ошибка: Out of memory. /LARGEADDRESSAWARE #2
Цитата Сообщение от Aloir Посмотреть сообщение
есть приложения в которой строиться отчет и отчет съедает много памяти > 4gb
Значит в построении отчета ошибка. Вообще в принципе его построения.
Разбивайте на подотчеты, сегментируйте, буферизируйте, все дела.
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
30.12.2015, 15:59  [ТС]     Ошибка: Out of memory. /LARGEADDRESSAWARE #3
SatanaXIII, отчет просто строится за большой период, там много данных, на 1 запись около 7кб выходит и их может быть за 1 месяц больше 500тыс, а может меньше 50ти.. очень большой разброс

Скорее всего придется как-то кешировать в каких файлах и поэтапно выводить.
Почтальон
Модератор
355 / 277 / 50
Регистрация: 22.03.2015
Сообщений: 2,169
Завершенные тесты: 1
30.12.2015, 16:01     Ошибка: Out of memory. /LARGEADDRESSAWARE #4
Как вариант - разнести по потокам, установить минимальный приоритет, и идти праздновать
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
30.12.2015, 16:05  [ТС]     Ошибка: Out of memory. /LARGEADDRESSAWARE #5
Почтальон, потоки не помогут, т.к процесс исчерпывает свой запас памяти.. или я не понял, что вы имели ввиду

самый крутой вариант уговорить заказчика поставить себя x64 и собрать прилагу под x64
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
30.12.2015, 16:29     Ошибка: Out of memory. /LARGEADDRESSAWARE #6
Цитата Сообщение от Aloir Посмотреть сообщение
отчет просто строится за большой период
Делайте несколько отчетов за периоды поменьше.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
31.12.2015, 12:24     Ошибка: Out of memory. /LARGEADDRESSAWARE #7
Можно ещё извратиться абсолютно оглоедским способом и выкинуть часть данных в видеопамять. Но это Тёмная сторона, Губительные Силы и путь в безумие.
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
02.01.2016, 15:34  [ТС]     Ошибка: Out of memory. /LARGEADDRESSAWARE #8
Nick Alte, очень интересный вариант) надо будет для личного развития потыкать..

т.к вариантов не нашел толком, решено было делать кэш через файлы, т.к заказчик строго хочет делать отчеты за N период, а не кусками..
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
02.01.2016, 18:59     Ошибка: Out of memory. /LARGEADDRESSAWARE #9
Цитата Сообщение от Aloir Посмотреть сообщение
очень интересный вариант)
Да, это-то в нём и плохо.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
02.01.2016, 19:40     Ошибка: Out of memory. /LARGEADDRESSAWARE #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Aloir Посмотреть сообщение
Можно ли как-нибудь еще увеличить обьем памяти?
Есть такой вариант:

Address Windowing Extensions
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2016, 11:23     Ошибка: Out of memory. /LARGEADDRESSAWARE
Еще ссылки по теме:
C++ Builder При синхронизации функции из потока возникает ошибка: "Out of memory"
C++ Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer"
C++ Out of memory
Memory leak C++ WinAPI
Visual C++ out of memory Visual C++ 6

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mq35
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 6
03.01.2016, 11:23     Ошибка: Out of memory. /LARGEADDRESSAWARE #11
А зачем их все запихивать в память? мб читать блоками, или использовать одну из бд?
Yandex
Объявления
03.01.2016, 11:23     Ошибка: Out of memory. /LARGEADDRESSAWARE
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru