ruby-docker icon indicating copy to clipboard operation
ruby-docker copied to clipboard

Support compiling Ruby with jemalloc

Open dazuma opened this issue 7 years ago • 2 comments

The libjemalloc library is being added to the base image in https://github.com/GoogleCloudPlatform/ruby-docker/pull/142

To provide full support for jemalloc, we'd need to do the following:

  • Set RUBY_CONFIGURE_OPTS=--with-jemalloc when installing Ruby with rbenv
  • Provide an alternative set of prebuilt MRI binaries compiled against jemalloc. (We cannot just replace the current set because apps pinned to an older runtime with an older base image would break.)
  • Add a runtime_config entry letting users opt-in to using jemalloc.

dazuma avatar Feb 12 '18 20:02 dazuma

Update: libjemalloc is available in current runtimes. You should be able to invoke it using LD_PRELOAD (see the getting started for jemalloc) today. However, for the Ruby runtime, we have the Ubuntu switch happening at the end of May, at which point a number of things (including the mechanism for prebuilt binaries) will be different. So holding off on further integration until the dust settles.

dazuma avatar May 11 '18 20:05 dazuma

Hi,

Is there any update to using versions of ruby compiled with jemalloc?

As far as I understand, currently for AppEngine, my only option is to dynamically invoke jemalloc by adding an environmental variable like this?

env_variables:
  LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1

Is this the correct path?

Thanks!

mtomov avatar Dec 06 '19 12:12 mtomov