jemalloc 中的 lg_prof_interval 是否意味着在两个时间点之间转储堆?

Does the lg_prof_interval in jemalloc mean dump the heap between two time point?

opt.lg_prof_interval (ssize_t) r- [--enable-prof] Average interval (log base 2) between memory profile dumps, as measured in bytes of allocation activity. The actual interval between dumps may be sporadic because decentralized allocation counters are used to avoid synchronization bottlenecks. Profiles are dumped to files named according to the pattern ...i.heap, where is controlled by the opt.prof_prefix option. By default, interval-triggered profile dumping is disabled (encoded as -1).

文档说。
我的选择是 export MALLOC_CONF=prof:true,lg_prof_interval:30,lg_prof_sample:17 (每 1GB 采样一次堆转储)

让我感到困惑的是转储是应用程序启动时间和现在之间的完整转储,或者只是在最后一个转储之间。

我检查了转储中的大小,发现它很小。
那么可能是答案 2?
我找到了一些简介文章,但没有提及。

为此,我怎么能看到内存减少?(base 有效吗?我不这么认为...)

简短的回答是:(1) - 字节计数器来自应用程序启动。

长答案:这不是必需的 'application start' 事件,但也可以是 mallctl("prof.reset") 从应用程序内部调用。

您可以查看此(很旧的)线程以进行澄清(阅读所有消息,而不仅仅是我引用的消息):http://jemalloc.net/mailman/jemalloc-discuss/2015-November/001205.html

"And for this how can I see memory decrease?(Does base work? I don't think so...)"

您应该使用 --base 选项看到内存减少,在您的情况下是 --base dump3。您将在 jeprof 报告中看到负数。