jemalloc 堆分析仅跟踪分配吗?

Is jemalloc heap profiling tracking allocations only?

我正在尝试解决一些内存泄漏问题,我正在使用 jemalloc 转储堆配置文件: MALLOC_CONF=prof:true,lg_prof_interval:30,lg_prof_sample:17

很有魅力,但我不知道我在看什么:)

jemaloc heap profiling 是显示所有(采样的)分配,还是仅显示在进行转储时尚未 free()-ed 的分配?或者换句话说:它是分配配置文件,还是 "live" 块配置文件?

我的理解是默认情况下,jeprof 显示在写入转储时 "live" 的分配。但是,您可以更改它。

如果要记录所有分配,请参阅 jeprofile prof_accum 选项:http://jemalloc.net/jemalloc.3.html#opt.prof_accum

您可能还需要 --alloc_space jeprof 标志来显示分配的字节而不是使用中的字节:https://github.com/jemalloc/jemalloc/blob/dev/bin/jeprof.in#L208