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

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

Восстановить пароль Регистрация
 
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 689
30.12.2015, 09:34     Ошибка: Out of memory. /LARGEADDRESSAWARE #1
Добрый день.
Возникла такая проблема: есть приложения в которой строиться отчет и отчет съедает много памяти > 4gb.
Флаг компилятора /LARGEADDRESSAWARE помог увеличить обьем памяти в 2 раза.. но этого мало. Приложение падает.
OC: Win 8 x64.
Приложение: x32

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

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

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

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

т.к вариантов не нашел толком, решено было делать кэш через файлы, т.к заказчик строго хочет делать отчеты за N период, а не кусками..
Nick Alte
Эксперт С++
1593 / 985 / 117
Регистрация: 27.09.2009
Сообщений: 1,901
Завершенные тесты: 1
02.01.2016, 18:59     Ошибка: Out of memory. /LARGEADDRESSAWARE #9
Цитата Сообщение от Aloir Посмотреть сообщение
очень интересный вариант)
Да, это-то в нём и плохо.
Убежденный
Системный программист
 Аватар для Убежденный
14429 / 6413 / 1015
Регистрация: 02.05.2013
Сообщений: 10,658
Завершенные тесты: 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++ Ошибка при выполнении функции (std::bad_alloc at memory location)
Memory Manager C++
C++ Builder При синхронизации функции из потока возникает ошибка: "Out of memory"
C++ Ошибка: CRT detected that the application wrote to memory after end of heap buffer
C++ Ошибка bad_alloc at memory location

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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему

Метки
out of memory
Опции темы

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