jemalloc

    3热度

    1回答

    我们目前有一个Java本机内存泄漏的问题。服务器相当大(40CPUS,128GB内存)。 Java堆大小是64G,我们运行了一个非常内存密集的应用程序,它将大量数据读取到大约400个线程的字符串中,并在几分钟后将它们从内存中抛出。 所以堆堆积得非常快,但是堆上的东西变得过时,并且可以非常快速地被打开。所以我们必须使用G1来让STW在几分钟内不会中断。 现在,这似乎工作正常 - 堆足够大,运行应用程

    0热度

    1回答

    我运行使用jemalloc作为内存分配器哪个预分割大块成预定义尺寸的小块(C++程序即1,2,4,8,.. 。字节) 即使我要求110个字节的存储器分配,它返回与128个字节容量的存储器。 在我的程序,我跟踪动态分配的存储器(具有高度多样化的大小)的量,并限制线程的存储器分配,以避免内存不足崩溃。 然而,由于要求的尺寸,并给予实际尺寸之间的差异,我不能准确计算动态分配的字节的数量。 是否有接收请求

    1热度

    2回答

    下面的程序不会触发断言失败: int main(int argc, char **argv) { int * n = (int *)malloc(100); //malloc_stats_print(nullptr, nullptr, "gablh"); free(n); *n += 1; std::cerr << *n << std::endl

    0热度

    1回答

    背景:我正在研究一个搜索引擎,并开发一个新功能,它将创建一个新的线程池(32个线程)。满足一些规则的查询将由新线程池执行。同时,旧的线程池(也有32个线程)可能仍然有效,并且将执行其他查询。 问题:我们正在使用Jemalloc进行内存分配。当我们启用新功能并且新的线程池开始工作时,Jemalloc在4〜5个内存中的内存消耗从80GB增加到95GB,然后在2个小时内降低。我查看了Jemalloc的统