- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在尝试追踪使用 jemalloc (5.2.0) 的 proxysql (2.0.14) 中的内存泄漏。我们在启用调试符号的情况下编译了 proxysql。烘焙到 proxysql 中的 jemalloc 配置 is the following :
xmalloc:true,lg_tcache_max:16,prof:true,prof_leak:true,lg_prof_sample:20,lg_prof_interval:30,prof_active:false
可以在运行时使用 PROXYSQL MEMPROFILE START
启用内存分析 here .这会将内存分析设置为 active
:
bool en=true;
mallctl("prof.active", NULL, NULL, &en, sizeof(bool));
这似乎在生成堆配置文件时起作用,但是当我们使用 jeprof 分析它们时,它似乎记录了所有内存分配,而不仅仅是内存泄漏。我们使用 jeprof 生成的 pdf 可以找到 here .如您所见,jeprof 似乎显示了所有内存分配,而不仅仅是泄漏的内存分配。
从看other memory profiles ,它们显示的内存总量较小,而在此配置文件中,我们看到 21GB 的总内存,这超过了服务器可以分配的内存。但是,我们不确定问题出在哪里 - jeprof、配置或其他完全不同的东西。
作为引用,我们添加了一个示例堆配置文件 here以防万一这将指示出了什么问题。
最佳答案
我认为这可能反射(reflect)了“泄漏”含义的一些歧义。 Valgrind 等工具将在关闭时遍历程序的指针图,如果遍历没有找到一些事件分配,则将事情视为泄漏。
其他工具将“泄漏”简单地视为任何已分配但未释放的东西。 jemalloc 中的分析模式更像这样工作。它报告在程序终止时归因于各种调用堆栈的事件字节的估计。
关于c++ - 为什么 jeprof 评估的 jemalloc 内存配置文件似乎显示所有内存分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64593698/
我们正在尝试追踪使用 jemalloc (5.2.0) 的 proxysql (2.0.14) 中的内存泄漏。我们在启用调试符号的情况下编译了 proxysql。烘焙到 proxysql 中的 jem
首先,jemalloc(在我的用例中)的目的是跟踪由 JNI 调用之类的事情引起的 native 内存分配,让我们开始: 大家好,我这里有一些严重的问题。我们碰巧在我们的一个应用程序中发生了内存泄漏。
我是一名优秀的程序员,十分优秀!