Утечка не-heap памяти
От: sharpensteel  
Дата: 29.10.10 10:51
Оценка:
(перенесено из ветки Unix)

Не могу отловить, куда уходит память...
Программа на c++, под линукс, используется либа mysqlclient.

Прога занимает в памяти 1400мб (по показаниям ps).
Размер кучи 500мб (по показаниям mallinfo и собственным подсчётам). Статическая память и стеки потоков < 20мб.
Что зохавало ещё гиг?

Какие идеи, что это за память, самый очевидный вариант?
Re: Утечка не-heap памяти
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.10.10 11:55
Оценка:
Здравствуйте, sharpensteel, Вы писали:

S>(перенесено из ветки Unix)


S>Не могу отловить, куда уходит память...

S>Программа на c++, под линукс, используется либа mysqlclient.

S>Прога занимает в памяти 1400мб (по показаниям ps).

S>Размер кучи 500мб (по показаниям mallinfo и собственным подсчётам). Статическая память и стеки потоков < 20мб.
S>Что зохавало ещё гиг?

mmap. Причём возможен маппинг кода и возможен malloc через mmap (собственным аллокатором или крупными объектами)
The God is real, unless declared integer.
Re: Утечка не-heap памяти
От: TimurSPB Интернет  
Дата: 29.10.10 12:00
Оценка: 1 (1)
Можно valgrin использовать. Может и покажет где.
Make flame.politics Great Again!
Re: Утечка не-heap памяти
От: uzhas Ниоткуда  
Дата: 29.10.10 12:04
Оценка: +1
Здравствуйте, sharpensteel, Вы писали:

S>Какие идеи, что это за память, самый очевидный вариант?


самый очевидный вариант — это хип
предлагаю вам более детально поковырять (можете тулзы внешние использовать), а то может получиться что-то типа такого : http://bugs.mysql.com/bug.php?id=45002
успехов
Re[2]: Утечка не-heap памяти
От: sharpensteel  
Дата: 30.10.10 13:22
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP>Можно valgrin использовать. Может и покажет где.


Спасибо, буду смотреть.
Re[2]: Утечка не-heap памяти
От: sharpensteel  
Дата: 30.10.10 13:41
Оценка:
Здравствуйте, uzhas, Вы писали:

U>самый очевидный вариант — это хип

U>предлагаю вам более детально поковырять (можете тулзы внешние использовать), а то может получиться что-то типа такого : http://bugs.mysql.com/bug.php?id=45002
U>успехов

После нескольких дней отрубаний кусков программы и установки заглушек оказалось не вызывал в одном месте mysql_free_result...
Что характерно, эта память не показывается при осмотре кучи через <malloc.h>: mallinfo(). Думаю попробовать использовать для поиска утечек valgrind, который тут рекомендуют.

Спасибо за ответы)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.