Memento memo.

Today I Learned.

jemallocを利用したRubyのDocker Imageを作る

以下の記事で説明されているようにメモリアロケータをjemallocにすることで、Rubyのメモリ効率をよしなにできる場合があります。是非使いましょう!!!!!!

techracho.bpsinc.jp

さて、時は2019年であり、世界はコンテナに包まれました。

RubyのDocker Imageもjemallocオプションを有効にしてビルドしたものが提供されてあろうこと期待していたのですが、公式イメージとしては提供されていません。

代わりに以下のIssueが見つかりました。要するにサポートされていません。

github.com

そのため、jemallocを有効化したImageは自分で作る必要があります。

幸いにも上記Issueのコメントに作り方が書いてありました。

正解は以下です。

FROM ruby:2.6.2

# Enable jemalloc
RUN apt-get update && apt-get install libjemalloc1 && rm -rf /var/lib/apt/lists/*
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1

ビルド時に指定する必要はないみたいですね。

FIN