为什么Firefox在Linux上有一个空堆?malloc在内存中的位置?

为什么Firefox在Linux上有一个空堆?malloc在内存中的位置?,linux,firefox,heap,Linux,Firefox,Heap,mm_struct的start_brk和brk feild对于Firefox具有相同的值,这意味着Firefox中的堆是空的。有人知道:为什么Firefox在Linux上有一个空堆?malloc在内存中的位置是什么?Firefox使用自定义内存分配器。除非在配置过程中指定了--enable dss选项,否则此分配器仅使用mmap(),否则它同时使用sbrk()和mmap()。不用说,只有brk()系统调用将修改所讨论的结构的start\u brk和brk字段。您如何确定这一点?(可能全面使用自定

mm_struct的start_brk和brk feild对于Firefox具有相同的值,这意味着Firefox中的堆是空的。有人知道:为什么Firefox在Linux上有一个空堆?malloc在内存中的位置是什么?

Firefox使用自定义内存分配器。除非在配置过程中指定了
--enable dss
选项,否则此分配器仅使用
mmap()
,否则它同时使用
sbrk()
mmap()
。不用说,只有
brk()
系统调用将修改所讨论的结构的
start\u brk
brk
字段。

您如何确定这一点?(可能全面使用自定义分配器,基于mmap)。我在内核模块中为每个进程打印mm\u结构信息。我使用--enable dss编译了一个Firefox,但是start_brk和brk仍然具有相同的值。您知道如何启用brk堆分配吗?我想要的是jemalloc调用brk()系统调用来分配数据。这可行吗?谢谢出于某种原因,我需要Firefox通过sys_brk()在堆中分配数据。有人知道怎么做吗?我在配置中设置了--enable dss,但堆仍然是空的。