问题标签 [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 回答
281 浏览

c - jemalloc 和 tcmalloc 如何跟踪线程?

现在我正在积极研究内存管理器的代码jemalloctcmalloc. 但我不明白这两位经理是如何跟踪线程的。

如果我理解正确,可以在内存分配期间检测到一个新线程,然后创建一个新的线程缓存。但是tcmalloc/如何jemalloc检测线程何时被销毁并且可以释放附加到它的线程缓存以供将来使用?

谷歌搜索结果甚至不能提供任何有用的信息。

0 投票
1 回答
2102 浏览

ruby - 如何检查 ruby​​-2.6.3 是否使用 jemalloc ?我将 ruby​​-2.6.3 安装为 $ rvm install 2.6.3 -C --with-jemalloc

此命令应显示 -ljemalloc 但事实并非如此。我可以用 ruby​​-2.4.3 和 ruby​​-2.5.x 看到它,但不能用 ruby​​-2.6.x

我正在使用 ubuntu 18 LTS 和其他 ruby​​ 版本,我得到了上面提到的 jemalloc 文件库

0 投票
1 回答
249 浏览

java - 这个“未知所有者”死锁是 JVM 错误吗,所有 Java 程序都会遭受它的影响吗?

我们的一个web服务器停止响应任何请求,jstack提示进程中存在死锁,serval线程被卡住,日志是这样的:

似乎线程组监视器由某个未知线程持有。我用谷歌搜索了错误消息“由 UNKNOWN_owner_addr 持有”,它引导我找到这个 apache 错误线程

它具有完全相同的错误消息,并且表明这是由JDK jemalloc 错误引起的

我不熟悉那些低级 jvm/jemalloc 的东西,它们对我来说就像魔法:)。所以我不能 100% 确定我的问题是否是由这个错误引起的。如果我正确理解了jdk bug,是否意味着所有的JDK8、11、12程序都受到了它的影响,任何java程序都可能遇到这种神秘的死锁,可能性很小?

0 投票
2 回答
784 浏览

ruby-on-rails - 如何使用 rvm 将 jemalloc 添加到现有的 Rails 服务器?

如何在 Rails 服务器上的工作 ruby​​ 中添加 jemalloc?我们使用 rvm 安装了 ruby​​。

Rails version:5.2 Ruby version:2.5.1

我试过了

我得到了谁的输出

我看到一篇文章使用 Jemalloc降低 Rails 应用程序的内存使用率,但它使用的是 rbenv

0 投票
1 回答
573 浏览

ruby-on-rails - 无法安装新版本的 jemalloc gem(在 heroku 上工作)

一段时间以来,我的 Ruby on Rails 应用程序 ( ruby 2.3.3, rails 4.2.10) 一直存在严重的内存问题,我想尝试 gemjemalloc以及 buildpack heroku-buildpack-jemalloc,因为它似乎对其他人有很大帮助。

如果我只是添加:

在我的 Gemfile 中运行bundle install它,但我得到的是 ruby​​gems.org1.0.1上的最新版本。在(成功)在 Heroku 上安装 buildpack 之后,我尝试上传我的应用程序,但它失败了

考虑到 ruby​​gems.org 上的最新版本 1.0.1(我从那里获得所有其他宝石)是从 2015 年开始的,据我所知宝石(https://github.com/jemalloc/jemalloc)是 5.1 .0 (?) 现在似乎 ruby​​gems.org 由于某种原因没有最新版本。为什么,我想知道?

我假设这是我对 heroku 的推动不起作用的原因,因为 buildpack 似乎至少需要 jemalloc 的 3.x 版本才能工作,而不是我可以在 ruby​​gems.org 上找到的旧版本

因此,我尝试使用以下命令直接从 github 下载 gem:

然后运行bundle install。这导致:

出乎我的意料。我不明白为什么这不起作用。

所以,我只剩下一个 1.0.1 版本(我假设)它不能与我在 Heroku 上需要的 buildpack 一起工作。

如何捆绑较新版本的 jemalloc 以使其正常工作?我错过了什么?

我还发现了有关 jemalloc 包含在 ruby​​ 2.2.0 中的信息,这是否意味着它可能已经在我的应用程序中使用?我没有在我的 Rails 应用程序中对此进行任何配置。

最后,我只对在 Heroku 上的实时生产应用程序中使用 jemalloc 感兴趣,而不是在笔记本电脑上的本地开发版本中使用 jemalloc。

0 投票
1 回答
2813 浏览

c - Setting MALLOC_CONF environmental variable for jemalloc within C program is not working

I am trying to use jemalloc for memory profiling, due to some reason i don't have control of parent process, So instead of setting MALLOC_CONF env variable outside, i am trying to set the variable within the program, but seems its not working.

I have tried setting the MALLOC_CONF env outside and then launch the process.. it works.

Below is the snippet of sample program

I m using below command to compile the code (I have tried both static and dynamic linking)

gcc -ggdb3 use_jemalloc.c -std=gnu99 -o abc /usr/local/lib/libjemalloc.a -lpthread -ldl -lm

If i export the variable and then run things seems to be working

But if u nullify the variable and then it doesn't generate anything

0 投票
0 回答
243 浏览

java - jeprof 的 java 调试符号

我已经生成了here描述的堆转储

jemalloc 当我尝试使用 jeprof 命令查看符号时,我遇到了这个 缺少 java 调试符号的 问题。jeprof 输出如下

我检查了我有

当我做的时候

我有

我已经是dbg版本了,但是符号还是没有解析。任何想法?

0 投票
0 回答
152 浏览

rust - Jemalloc、Debug Symbol 和 Panic 消耗了多少内存?怎么找到这个?它位于哪里?

我是 RUST 和编程新手。我刚刚使用 RUST 语言在树莓派 3 上编写了 LED 闪烁程序。它运作良好。我的调试二进制文件大小为 4.7MB。它真的很大。所以我发布了文件,它减少到 2.5MB。我发现由于 Jemalloc 的默认操作,Debug 符号和 Panic Rust 可执行文件非常大。有人可以帮我弄清楚 Jemalloc、Debug Symbol 和 Panic 消耗了多少内存吗?如何找到这个?它位于哪里?如何删除或取消分配 Jemalloc?

我正在使用 Visual Studio 代码 IDE 在 Raspberry pi 3 上使用 Rust 1.38.0 稳定版。

main.rs 文件

cargo.toml 文件

我想知道 jemalloc、调试符号和恐慌在总大小上消耗了多少内存。以及默认情况下如何删除/停用所有三个操作。寻求帮助,谢谢

0 投票
1 回答
151 浏览

memory-management - Apache Ignite 与 Redis (jemalloc) 的内存分配?

Apache Ignite 如何进行内存分配以避免内存碎片,特别是我试图将 Ignite 的方法与 Redis 的(jemalloc)方法进行比较。

0 投票
3 回答
1276 浏览

ruby - 带有 jemalloc 的 Ruby 2.6.5

我已经使用 jemalloc 从源代码构建并安装了 rub 2.6.5。但是,当我检查它是否在那里时,我没有看到条目。还有什么我应该做的吗?

结果是:

跟踪部署后的内存使用情况与没有 jemalloc 的类似配置服务器相比,我也没有看到下降。

我不确定我需要做什么才能让 jemalloc 工作。

谢谢!