Моя программа загружает данные из файлов в структурыпамяти в Linux
std::tr1::unordered_map< Key, Details*>
и
std::tr1::unordered_map< KeyOuter, std::tr1::unordered_map<KeyInner, Details*>* >
Key := std::string | int | long long
Details : struct { Fields } (sizeof >=40 bytes)
Периодически моя программа считывает новые данные из файлов, после того, что он перерабатывает старые структуры. (Много новых операций/удаление)
В окнах: Использование памяти после перезагрузки данных ~ 200 МБ.
Одинаковые файлы в CentOS: общее использование памяти после каждого перегрузочных увеличивается до 1000 Мб (Использование памяти: 200-> 400-> 600-> 800-> 1000-> 1000-> 1000-> 1000)
Не обнаружено утечек с помощью vld и valngrind.
Как решить эту проблему с памятью в Linux?
Решенные. Память возвращается в os после вызова ** malloc_trim() ** – Jens