You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为基于RVM的运行中Rails服务器添加jemalloc

给RVM管理的Ruby on Rails添加Jemalloc的方法

嘿,我之前刚好折腾过用RVM给Ruby配置jemalloc,针对你现在的情况(Ruby 2.5.1、Rails 5.2、RVM环境),给你两种可行的方案:

方案一:重新编译Ruby(推荐,一劳永逸)

这种方法会让Ruby永久链接jemalloc,不需要每次启动服务器都额外配置:

  1. 先安装系统级的jemalloc依赖

    • Ubuntu/Debian系统:
      sudo apt-get update && sudo apt-get install libjemalloc-dev
      
    • CentOS/RHEL系统:
      sudo yum install jemalloc-devel
      
    • macOS(用Homebrew):
      brew install jemalloc
      
  2. 卸载当前的Ruby 2.5.1
    因为我们要重新编译带jemalloc支持的版本:

    rvm remove 2.5.1
    
  3. 设置编译参数,让RVM编译时包含jemalloc
    导出环境变量指定配置选项:

    export CONFIGURE_OPTS="--with-jemalloc"
    
  4. 重新安装Ruby 2.5.1

    rvm install 2.5.1
    
  5. 验证是否配置成功
    运行你之前用的命令,查看输出是否包含-ljemalloc:

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

    如果输出里有-ljemalloc,就说明jemalloc已经成功链接到Ruby了。

方案二:临时加载jemalloc(适合快速测试)

如果你不想重新编译Ruby,可以在启动Rails服务器时临时指定加载jemalloc库:

  • Linux系统:

    LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so rails server
    

    (注意:/usr/lib/x86_64-linux-gnu/是常见路径,如果你系统里的jemalloc.so在别的位置,需要替换成实际路径)

  • macOS系统:

    DYLD_INSERT_LIBRARIES=/usr/local/lib/libjemalloc.dylib rails server
    

    (同样,路径根据你Homebrew安装的位置调整)

这种方法的缺点是每次启动服务器都要加这个前缀,适合快速验证jemalloc的效果,长期用还是推荐方案一。

内容的提问来源于stack exchange,提问作者Jose Kj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:34:47