jemalloc脏页面设置

时间:2015-08-19 04:46:24

标签: c++ c++11 memory malloc out-of-memory

我在32 GB机器上运行服务器程序。 RSS上升,可用内存不断降低。最终当可用内存达到400 MB时,它不会下降。在某些时候,应用程序需要一些大的内存,说几个gb,它就会死掉。我们正在使用jemalloc。我怀疑jemalloc缓存脏页面。我的问题是: 1.如何在运行过程中显示脏内存设置。 2.如何更改jemalloc可以拥有的脏页面。 附:我们运行了valgrind来验证测试运行时没有内存泄漏。应用程序使用C ++和多线程。还惊讶为什么stackoverflow没有jemalloc标签:)

1 个答案:

答案 0 :(得分:-2)

lg_dirty_mult做了这个伎俩。 实际值为2 ^ lg_dirty_mult。

回答第二部分:
MALLOC_CONF = stats_print:true,lg_dirty_mult:0 application_executable
这也可以在运行时由mallctl()和“opt.lg_dirty_mult”参数完成。

对第1部分的回答:使用jemalloc lib中的malloc_stats_print。

链接帮助:
https://bugzilla.mozilla.org/show_bug.cgi?id=811740 https://github.com/jemalloc/jemalloc/wiki/Getting-Started