docker: set MALLOC_ARENA_MAX=2.
Setting MALLOC_ARENA_MAX=2 is claimed to reduce memory bloat caused by fragmentation. Jemalloc 3.x is also claimed to reduce memory bloat, but modern distros only ship Jemalloc 5.x, and supposedly only 3.x works. https://devcenter.heroku.com/articles/tuning-glibc-memory-behavior https://bugs.ruby-lang.org/issues/14718 https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html https://www.joyfulbikeshedding.com/blog/2019-03-14-what-causes-ruby-memory-bloat.html
This commit is contained in:
@@ -3,6 +3,10 @@ FROM ubuntu:21.04 AS base
|
||||
WORKDIR /danbooru
|
||||
ENV PATH="/root/.asdf/bin:/root/.asdf/shims:$PATH:/usr/lib/postgresql/14/bin"
|
||||
|
||||
# Reduces memory usage at the cost of higher thread contention.
|
||||
# https://bugs.ruby-lang.org/issues/14718
|
||||
ENV MALLOC_ARENA_MAX=2
|
||||
|
||||
COPY config/docker/build-base-image.sh .
|
||||
|
||||
RUN \
|
||||
|
||||
Reference in New Issue
Block a user