如何检查 ruby-2.6.3 是否正在使用 jemalloc ?我将 ruby-2.6.3 安装为 $ rvm install 2.6.3 -C --with-jemalloc
How to check ruby-2.6.3 is using jemalloc ? I installed ruby-2.6.3 as $ rvm install 2.6.3 -C --with-jemalloc
这个命令应该显示 -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 文件库
在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
这个命令应该显示 -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 文件库
在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