Перейти к содержимому

Фото
- - - - -

утечка памяти


  • Вы не можете создать новую тему
  • Please log in to reply
3 ответов в этой теме

#1 dronius

dronius
  • Пользователь
  • 153 сообщений

Отправлено 24 Март 2008 - 22:15

такой вопрос линуксоведам:

есть юзерспейс приложение на C++, вторую неделю парит утечка памяти - не могу найти
активно используется графика (freetype2, libpng) и потоки (pthreads)

утекает довольно много, десятки килобайт за некую операцию, не столь важно какую, но важно, что при этом запускаются потоки, открываются окна, рендерится пачка текста. при помощи стандартных методов перехвата malloc() / new утечка не отслеживается.

важно, что mallinfo() выдает, что "арена" памяти libc доходит до 3МБ и дальше не растет. а использование heap растет, тем не менее, вплоть до упора, затем на последнем мегабайте новые потоки-процессы перестают создаваться и kswapd начинает нагружать систему (хотя свап в ядре отключен). как такое может происходить?

строится все с помощью arm-linux gcc 3.4, debian sarge и libc6 2.3.2
ядро 2.6.23 на процессоре arm9

  • 0

#2 ParadoxL

ParadoxL
  • Постоялец
  • 4 756 сообщений
  • Откуда:Edinburg

Отправлено 24 Март 2008 - 23:01

dronius, сложно чего-то сказать не видя общей топологии кода. Это из раздела "танцы с бубном" ...
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#3 dronius

dronius
  • Пользователь
  • 153 сообщений

Отправлено 25 Март 2008 - 10:14

практически уверен, что общая топология ничего не даст
я бы хотел прежде всего получить идеи о том, как может тратиться heap у процесса, в то время как libc говорит, что она его себе под malloc не забирает
  • 0

#4 dronius

dronius
  • Пользователь
  • 153 сообщений

Отправлено 26 Март 2008 - 16:31

проблема решена
  • 0