Добрый день.
Я написал приложение на С++, которое должно работать в режиме 24/7, но больше 2х суток оно не работает, т.к. постепенно оно съедает всю виртуальную, а затем и физическую оперативную память(6Гб)
В результате ядро убивает это приложение и его требуется перезапустить.
Я пробовал использовать Valgrind чтобы найти утечки памяти и я их нашёл(до этого программа работала только 12-14 часов). Сейчас Valgrind говорит, что никаких утечек памяти нет, но тем не менее я вижу стабильный рост потребляемой оперативной памяти.
Пробовал использовать malloc_trim(0), чтобы возвращать ОС занимаемую память, но кажется решение не слишком эффективное, хотя и продлевает время работы программы.
Приложение многопоточное и достаточно большое, так что выложить его для просмотра кода вряд ли получится, поэтому вопрос что ещё можно предпринять, чтобы понять, что я неправильно написал и требуется исправить?