Sam Saffron: "After spending a bit too much time thinking about this, I would like to recommend against any jemalloc related changes " https://bugs.ruby-lang.org/issues/14718#note-89
Besides being the author of Fullstaq Ruby, I am also the author of the first copy-on-write-GC-friendliness patch for Ruby. Consider the fact that it took ~5 years for the copy-on-write-friendly-GC feature to find its way back to upstream Ruby.
If you lived in 2008, would you be willing to wait 5 years in order to save 33% memory?
Your original statement basically equates quality with authority: you believe a project is qualitatively good if and only if it's officially blessed by an authority you trust. And that belief is fine. Most people either aren't able to, or don't care enough to, verify quality themselves, so we defer to trusted authorities. Nothing wrong with that approach in general.
The thing I'm trying to tell you though, is that in case of MRI, there have been multiple past cases when the lack of official authority blessing did not in fact mean a lack of quality. This isn't hypothetical: there's a proven track record. My own track record is proven as well.
What is in it for you? Well, reduced memory usage, improved performance, faster and lower-hassle installation and security patching!
There is always a risk, yes. But all I'm trying to say is that the equation "lack of authority blessing == lack of quality" is proven not to be true for a Ruby project such as this. Whether you want to take the risk of trying it out, that's entirely up to you.
I actually have a mention of this in my book on deploying Rails (https://deploymentfromscratch.com/). Here's a one liner with ruby-install:
$ sudo dnf install -y jemalloc-devel
$ ruby-install 3.0.0 -- --with-jemalloc
Then check you have it:
$ ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']"
... -ljemalloc
Furthermore, it's not just "dnf install jemalloc-devel". The Jemalloc version matters a lot. For reasons that are not yet clear, significant memory savings are only achieved with Jemalloc 3, not with Jemalloc 5. And your distribution only ships 1 Jemalloc version. So likely you need to compile Jemalloc 3 yourself.
But Jemalloc 3 no longer compiles by default on some modern distributions, such as Debian 10. Fullstaq Ruby fixes this by patching Jemalloc: https://github.com/fullstaq-labs/fullstaq-ruby-server-editio...
Another caveat is that LD_PRELOADing Jemalloc is more effective than compiling with --with-jemalloc.
Furthermore, installing Ruby is one thing. Keeping it security-patched without having to constantly monitor things, is a whole other can of worms. Here's where Fullstaq Ruby's second value proposition comes in: we supply DEB/RPMs and do the tiny version patching for you, you don't have to go through the whole compilation process and gem migration process every time there's a new Ruby tiny version.
See also this FAQ entry, "Fullstaq Ruby vs LD_PRELOADing Jemalloc yourself": https://github.com/fullstaq-labs/fullstaq-ruby-server-editio...