jemalloc in Ruby
Ruby
がデフォルトで利用する
glibc
の
malloc
は
スレッド
ごとの
メモリ
割り当てに問題を抱えており、
断片化
やメモリ使用量増大のリスクがある
jemalloc
を利用することでこの問題を解決できることがある
malloc Doubles Ruby Memory
に詳しい
Rails
が作成する
Dockerfile
のデフォルトもmallocから
jemalloc
になる
https://github.com/rails/rails/pull/50943
おそらく8.0から
その他
https://bugs.ruby-lang.org/issues/9113
ohbarye.icon
Ruby本体でjemallocを採用できない深遠な理由?
https://www.dsdev.in/blog/jemalloc-rails-memory
jemalloc前の各
pod
は平均1.6GBを消費していたが、jemalloc使用するようにしたところわずか550MBに激減した
https://developers.bookwalker.jp/entry/2024/09/26/110000
Dockerコンテナとして本番実行しているRailsをjemallocで高速化&省メモリ化した話
p99が220ミリ秒から210ミリ秒へ10ミリ秒、4.5パーセントほど高速化