Russian Qt Forum

Qt => Базы данных => Тема начата: LeX от Июль 23, 2009, 11:35



Название: Увеличение объёма памяти
Отправлено: LeX от Июль 23, 2009, 11:35
Доброго времени суток.

Есть вопрос который задавался здесь не однократно, но ответа на него так ни кто и не получил.
При выполнении запроса с выборкой большого объема данных, приложение начинает разбухать,а при удалении объектов память не освобождается.
Я так понял не у меня первого возникла эта проблема, кто-то решал её?


Название: Re: Увеличение объёма памяти
Отправлено: Пантер от Июль 23, 2009, 11:42
Стандартный вопрос: чем замерял память?


Название: Re: Увеличение объёма памяти
Отправлено: ритт от Июль 23, 2009, 12:49
у меня таких проблем не возникает.


Название: Re: Увеличение объёма памяти
Отправлено: LeX от Июль 23, 2009, 13:23
Да уже разобрался, это спицифика работы Qt. Просто при работе запроса память утекает, а при удалении объекта не возвращается, но помечается как свободная. В случае повторного запроса память больше не утекает. Как я понял это сделано для того чтобы сократить время и оптимизировать работу.
Если я не прав поправьте  :)


Название: Re: Увеличение объёма памяти
Отправлено: LeX от Июль 24, 2009, 12:20
Стандартный вопрос: чем замерял память?
ОС Red Hat Enterprise Linux 5 ядро 2.6.28.8
Тестил Valgrind 3.4.1
Версия Qt 4.5.0
Чёт меня не особо устраивает такая организация :(
А под виндовозами возвращается память после отработки, что-то надо с этим решать...
Мжет кто подскажет что можно сделать?


Название: Re: Увеличение объёма памяти
Отправлено: Blayder от Июль 27, 2009, 12:19
что значет:
Цитировать
не возвращается, но помечается как свободная
Или вы специфику работы с паматью в *nix системах не просматривали?
В линухе практически вся свободная память постоянно кешируется.
Отсуда если у вас и было свободное место в раме и потом оно не вернулось - значит оно кешируется.
И это абсолютно правильное поведение. Ведь толку от рамы, если она стоит пустая и не используется?
Цитировать
RAM is wasted if it isn't used
http://www.linuxhowtos.org/System/Linux%20Memory%20Management.htm
Сорь, на русском потерял линку...


Название: Re: Увеличение объёма памяти
Отправлено: LeX от Август 10, 2009, 12:08
что значет:
Цитировать
не возвращается, но помечается как свободная
Или вы специфику работы с паматью в *nix системах не просматривали?
В линухе практически вся свободная память постоянно кешируется.
Отсуда если у вас и было свободное место в раме и потом оно не вернулось - значит оно кешируется.
И это абсолютно правильное поведение. Ведь толку от рамы, если она стоит пустая и не используется?
Цитировать
RAM is wasted if it isn't used
http://www.linuxhowtos.org/System/Linux%20Memory%20Management.htm
Сорь, на русском потерял линку...

Спасибо, почитал инфу и решил вопрос :)