Russian Qt Forum
Ноябрь 27, 2024, 07:05
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
QSqlQuery+QThread = bad_alloc
Страниц:
1
2
[
3
]
4
5
...
7
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QSqlQuery+QThread = bad_alloc (Прочитано 43642 раз)
OKTA
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #30 :
Май 19, 2014, 10:52 »
а у меня 64-битная
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #31 :
Май 19, 2014, 10:54 »
Цитата: OKTA от Май 19, 2014, 10:52
а у меня 64-битная
Венда?
Записан
OKTA
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #32 :
Май 19, 2014, 10:55 »
Yes
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #33 :
Май 19, 2014, 10:57 »
А Qt 32 битный?
Записан
OKTA
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #34 :
Май 19, 2014, 11:01 »
раскусил
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #35 :
Май 19, 2014, 11:03 »
Соберите сами 64 битный и попробуйте воспроизвести на нем.
Записан
Bepec
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #36 :
Май 19, 2014, 11:47 »
Эммм... как умирает?
Быть просто не может смерти при динамическом выделении 500 мб памяти. (если есть хотя бы гиг, а лучше больше памяти в компе)
Разрабатывал одно приложение, оно жрало до 1,8 Гб памяти. Windows XPx32/Windows 7x32/Windows 7x64. Ни разу не было умираний... Мб в креаторе дело?
Записан
OKTA
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #37 :
Май 19, 2014, 11:53 »
Вероятно)
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #38 :
Май 19, 2014, 12:09 »
Цитата: Bepec от Май 19, 2014, 11:47
Быть просто не может смерти при динамическом выделении 500 мб памяти. (если есть хотя бы гиг, а лучше больше памяти в компе)
Совершенно не важно сколько физической памяти в машине (хоть 100500 Гб), все упирается в 32 битное адресное пространство.
И умирать будет из-за невозможности выделения непрерывного куска памяти. Но m_ax в начале темы все уже написал.
Записан
Bepec
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #39 :
Май 19, 2014, 12:14 »
100500 Гб не надо. Достаточно 2 Гб, отведённых под x32 разрядный процесс.
И 500 Мб неразрывного участка памяти - это пшик для процесса, не занятого другой деятельностью.
И как говорит ТС - у него падает на простом Thread/String/Append.
PS поставлю вопрос иначе - как можно дефрагментировать память - надёжно. Чтобы не осталось 500 мб куска в этих 2 Гб?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #40 :
Май 19, 2014, 12:17 »
Цитата: Bepec от Май 19, 2014, 12:14
PS поставлю вопрос иначе - как можно дефрагментировать память - надёжно. Чтобы не осталось 500 мб куска в этих 2 Гб?
Как раз вот таким тестом, который использовал ОКТА.
Вместо QString может быть что угодно (чему нужны непрерывные куски памяти): QVector, QByteArray, ...
Записан
OKTA
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #41 :
Май 19, 2014, 12:18 »
В каждом аппенде выделяется по 10 байт - тут проблема не в непрерывном участке памяти..
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #42 :
Май 19, 2014, 12:20 »
Цитата: OKTA от Май 19, 2014, 12:18
В каждом аппенде выделяется по 10 байт - тут проблема не в непрерывном участке памяти..
Именно в нем.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #43 :
Май 19, 2014, 12:33 »
Сам столкнулся с такой проблемой. В проге приходится периодически создавать/удалять несколько экземпляров структурки с размером 16 метров (это сторонний код). Так вот, через пару дней работы программы она падает с бэд аллок - память фрагментируется на столько, что нет свободного непрерывного блока. Потребление памяти в это время меньше 200 метров.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
Re: QSqlQuery+QThread = bad_alloc
«
Ответ #44 :
Май 19, 2014, 12:42 »
Таки интересно, почему у меня падает только при 300кк циклов. Вопрос - как с этим бороться?
Записан
Страниц:
1
2
[
3
]
4
5
...
7
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...