问题标签 [jemalloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
916 浏览

c++ - 如何dlopen jemalloc动态库

我正在尝试dlopen在运行时内存分配器。libc我对,tcmalloc和没有问题tbbmalloc。但试图dlopen jemalloc导致以下错误(通过捕获dlerror):

/path/to/lib/libjemalloc.so: cannot allocate memory in static TLS block

您是否知道此错误的原因以及如何解决此问题?

0 投票
1 回答
1580 浏览

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

opt.lg_prof_interval (ssize_t) r- [--enable-prof] 内存配置文件转储之间的平均间隔(日志基数 2),以分配活动的字节数为单位。转储之间的实际间隔可能是零星的,因为分散的分配计数器用于避免同步瓶颈。配置文件被转储到根据模式 ...i.heap 命名的文件中,其中由 opt.prof_prefix 选项控制。默认情况下,间隔触发的配置文件转储被禁用(编码为 -1)。

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

我感到困惑的是,转储是应用程序启动到现在之间的完整转储,或者只是在最后一次转储之间的完整转储。
在此处输入图像描述

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

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

0 投票
0 回答
172 浏览

c - 可以使用 jemalloc arenas 在 64 位架构上实现 32 位指针吗?

是否可以使用 jemalloc 设置一个仅从保留的 2^32 字节虚拟内存区域分配页面的竞技场

mallocx因此,使用 arena 的选项从 arena 分配的任何指针MALLOCX_ARENA都可以表示为 32 位索引arena_start

这样做的动机是为了更节省空间的数据结构的指针压缩。(有关类似用例的背景信息,请参阅论文Tranparent Pointer Compression for Linked DataStructures 。)

来自这个线程关于 arenas 的评论让我认为这种类型的定制可能会得到支持。

0 投票
1 回答
2200 浏览

node.js - 如何在 Jemalloc 中使用 Node.js?

Node.js 可以与 Jemalloc 一起使用(https://github.com/nodejs/node/issues/21973)。在大多数情况下,它会缩短 RSS,这是我的大问题。

但我找不到任何关于如何在 Jemalloc、机器上或 docker 中使用节点的信息。

有人可以帮忙吗?

0 投票
1 回答
1202 浏览

c++11 - JeMalloc 不创建内存泄漏转储

我需要使用 JeMalloc 进行内存分析的帮助。

我做以下事情:

然后我运行我的应用程序:

这个二进制文件将 100% 使用 jemalloc 因为当我调用

我看到 JeMalloc 统计数据。

关于 https://github.com/jemalloc/jemalloc/wiki/Use-Case:-Leak-Checking

我做的一切都是正确的——但我仍然没有看到 jeprof 转储文件分析内存泄漏。

提前致谢。

0 投票
1 回答
891 浏览

java - Spring Boot 应用程序不使用 jemalloc

我正在尝试找出内存泄漏问题。我正在关注这篇文章并尝试使用 jemalloc

遵循的步骤是:

但是没有创建 .heap 文件。我在 pmap -x 结果中找不到 libjemalloc.so。如何确保 jvm 正在使用 jemalloc?服务器是一个 ubuntu 服务器,应用程序正在使用 spring boot。

0 投票
2 回答
266 浏览

g++ - Jemalloc 函数未在此范围内声明

我在我的ubuntu机器上安装了jemalloc库

现在,我无法编译使用 jemalloc 库的简单代码:

我编译它g++ -ljemalloc example.cpp

我得到的错误是

我什至尝试使用其源文件安装 jemalloc 并将我的标题更改为"jemalloc/jemalloc.h"(而不是<..>),并使用链接到它g++ -L./jemalloc/lib example.cpp,但它没有帮助。

0 投票
0 回答
789 浏览

java - 无法解释 jeprof 结果

在此答案中使用配置设置 jemalloc 和 jeprof 后,我能够生成分析数据。

然后使用 jeprof 我能够生成报告

但是我无法解释发生了什么。似乎 SUNWprivate_1.1 正在做某事,但我不明白是什么。

另外,我发现JVM_FindSignal探查器找不到调试符号。所以,使用这个答案我已经运行

但它似乎并没有改变输出中的任何内容。

下面是 jeprof 命令的结果。

在此处输入图像描述

我如何解释这个结果?

0 投票
0 回答
182 浏览

java - 如何找到调用不安全分配的方法?

我试图在我的生产应用程序中找到本机内存泄漏。问题是要知道我的代码中unsafe.allocateMemory(size)没有哪个方法unsafe.freeMemory(startIndex)

这适用于 Ubuntu 18.04,Java 版本“1.8.0_191”。

所以我写了本机内存泄漏的代码,我想找到一种方法来做到这一点。我使用jemalloc并且我有一个根据此说明获得的 .gif 文件。我有一张图片

在此处输入图像描述

那我怎么能猜到,那0x00007f2e42297ea7useWithLeak方法?这是真的吗?

0 投票
2 回答
650 浏览

c++ - “链接 CXX 可执行世界服务器”失败

在 cmake 已经预编译失败后,以 99% 编译链接 CXX 可执行 worldserver。

等等

错误是:https ://pastebin.com/pVEkzzNs

我正在运行最新的 Ubuntu 并尝试通过 SSH 安装最新的 AzerothCore(无自动安装程序)。

预期:一切都应该运行良好。实际:甚至没有创建二进制文件。