【问题标题】:jemalloc dirty page settingjemalloc 脏页设置
【发布时间】:2015-08-19 04:46:23
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    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 库中的 malloc_stats_print。

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

    【讨论】:

    • 作为激励,我对他们两个都投了反对票。修复格式,我将删除选票。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 2012-11-13
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多