Jemalloc 5 has time-based purging, the default (10sec) favors perf over memory usage. Set dirty_decay_ms:0,muzzy_decay_ms:0 for 3.6-like behavior, I found dirty_decay_ms:1000,muzzy_decay_ms:0 a good balanced tradeoff. I ran jemalloc 5.1 + Ruby 2.5 since 2018.
Describe the solution you'd like
So maybe it is time to give jemalloc 5 one more try?
Currently Fullstaq Ruby is being compiled only against jemalloc 3 and docs state following in README here:
However, there are evidences that jemalloc 5 with changed settings can have the almost same behavior as jemalloc 3, e.g. see here: https://twitter.com/wgjordan/status/1440574986264006659
Describe the solution you'd like So maybe it is time to give jemalloc 5 one more try?
Additional context Some additional discussion can be seen here (however it is not public): https://railsperf.slack.com/archives/C0QKHT5LP/p1651118694838959