jemallocを利用したRubyのDocker Imageを作る
以下の記事で説明されているようにメモリアロケータをjemallocにすることで、Rubyのメモリ効率をよしなにできる場合があります。是非使いましょう!!!!!!
さて、時は2019年であり、世界はコンテナに包まれました。
RubyのDocker Imageもjemallocオプションを有効にしてビルドしたものが提供されてあろうこと期待していたのですが、公式イメージとしては提供されていません。
代わりに以下のIssueが見つかりました。要するにサポートされていません。
そのため、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