3

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

Rails version:5.2 Ruby version:2.5.1

我试过了

ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']"

我得到了谁的输出

-lpthread -lgmp -ldl -lcrypt -lm

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

4

2 回答 2

4

我设法使用以下步骤添加了 jemalloc:

安装 Jemalloc 库:

sudo apt install libjemalloc-dev

使用编译参数重新安装当前安装的 ruby​​ 版本以包含 Jemalloc 支持:

rvm reinstall 2.5.1 -C -with-jemalloc

然后检查是否已正确添加 Jemalloc 支持:

ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']"

它应该输出如下内容:

-lpthread -ljemalloc -lgmp -ldl -lcrypt -lm
于 2019-09-13T09:14:11.293 回答
3

更新到@ste20654 答案

对我来说这个命令

ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']"

回来

-lm

这是什么有效的

ruby -r rbconfig -e "puts RbConfig::CONFIG['MAINLIBS']"

或者

ruby -r rbconfig -e "puts RbConfig::CONFIG['SOLIBS']"

返回(如果 ruby​​ 使用 jemalloc 正确编译)

-lz -lpthread -lrt -lrt -ljemalloc -lgmp -ldl -lcrypt -lm
于 2020-09-03T15:46:19.617 回答