1

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

$ ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']"
-lm                                                                                                                                    
$ cat /etc/environment


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1

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

4

1 回答 1

16

在 ruby2.6.x​​ 中,您必须检查MAINLIBS,如下所示:

$ irb -rrbconfig
irb(main):004:0> RbConfig::CONFIG['MAINLIBS']
=> "-lz -lpthread -lrt -lrt -ljemalloc -lgmp -ldl -lcrypt -lm "

或者,当然,用你的单线:

$ ruby -r rbconfig -e "puts RbConfig::CONFIG['MAINLIBS']"
-lz -lpthread -lrt -lrt -ljemalloc -lgmp -ldl -lcrypt -lm
于 2019-08-01T06:56:37.353 回答