【发布时间】:2013-09-29 17:00:26
【问题描述】:
我的程序将数据从文件加载到结构中
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 )
我的程序定期从文件中读取新数据,然后回收旧结构。 (很多新建/删除操作)
在 windows 中: 重新加载数据后的内存使用量约为 200mb。
CentOS 中的相同文件:每次重新加载后的总内存使用量增加到 1000mb(内存使用量:200->400->600->800->1000->1000->1000-> 1000)
使用 vld 和 valngrind 未检测到泄漏。
如何在 Linux 中解决这个内存问题?
【问题讨论】:
-
已解决。 malloc_trim() 调用 后内存返回到 os
标签: c++ linux memory allocation