Russian Qt Forum
Июнь 01, 2024, 19:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3] 4 5 ... 7   Вниз
  Печать  
Автор Тема: QSqlQuery+QThread = bad_alloc  (Прочитано 42238 раз)
OKTA
Гость
« Ответ #30 : Май 19, 2014, 10:52 »

а у меня 64-битная  Смеющийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #31 : Май 19, 2014, 10:54 »

а у меня 64-битная  Смеющийся
Венда?
Записан
OKTA
Гость
« Ответ #32 : Май 19, 2014, 10:55 »

Yes
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #33 : Май 19, 2014, 10:57 »

А Qt 32 битный? Улыбающийся
Записан
OKTA
Гость
« Ответ #34 : Май 19, 2014, 11:01 »

раскусил  Смеющийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #35 : Май 19, 2014, 11:03 »

Соберите сами 64 битный и попробуйте воспроизвести на нем. Улыбающийся
 
Записан
Bepec
Гость
« Ответ #36 : Май 19, 2014, 11:47 »

Эммм... как умирает?

Быть просто не может смерти при динамическом выделении 500 мб памяти. (если есть хотя бы гиг, а лучше больше памяти в компе)

Разрабатывал одно приложение, оно жрало до 1,8 Гб памяти. Windows XPx32/Windows 7x32/Windows 7x64. Ни разу не было умираний... Мб в креаторе дело?
Записан
OKTA
Гость
« Ответ #37 : Май 19, 2014, 11:53 »

Вероятно)
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #38 : Май 19, 2014, 12:09 »

Быть просто не может смерти при динамическом выделении 500 мб памяти. (если есть хотя бы гиг, а лучше больше памяти в компе)
Совершенно не важно сколько физической памяти в машине (хоть 100500 Гб), все упирается в 32 битное адресное пространство.
И умирать будет из-за невозможности выделения непрерывного куска памяти. Но m_ax в начале темы все уже написал.
Записан
Bepec
Гость
« Ответ #39 : Май 19, 2014, 12:14 »

100500 Гб не надо. Достаточно 2 Гб, отведённых под x32 разрядный процесс.
И 500 Мб неразрывного участка памяти - это пшик для процесса, не занятого другой деятельностью.
И как говорит ТС - у него падает на простом Thread/String/Append.

PS поставлю вопрос иначе - как можно дефрагментировать память - надёжно. Чтобы не осталось 500 мб куска в этих 2 Гб?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #40 : Май 19, 2014, 12:17 »

PS поставлю вопрос иначе - как можно дефрагментировать память - надёжно. Чтобы не осталось 500 мб куска в этих 2 Гб?
Как раз вот таким тестом, который использовал ОКТА.
Вместо QString может быть что угодно (чему нужны непрерывные куски памяти): QVector, QByteArray, ...
Записан
OKTA
Гость
« Ответ #41 : Май 19, 2014, 12:18 »

В каждом аппенде выделяется по 10 байт - тут проблема не в непрерывном участке памяти..
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #42 : Май 19, 2014, 12:20 »

В каждом аппенде выделяется по 10 байт - тут проблема не в непрерывном участке памяти..
Именно в нем.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #43 : Май 19, 2014, 12:33 »

Сам столкнулся с такой проблемой. В проге приходится периодически создавать/удалять несколько экземпляров структурки с размером 16 метров (это сторонний код). Так вот, через пару дней работы программы она падает с бэд аллок - память фрагментируется на столько, что нет свободного непрерывного блока. Потребление памяти в это время меньше 200 метров.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
« Ответ #44 : Май 19, 2014, 12:42 »

Таки интересно, почему у меня падает только при 300кк циклов. Вопрос - как с этим бороться?
Записан
Страниц: 1 2 [3] 4 5 ... 7   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.