I am a Heroku buildpack that installs jemalloc into a dyno slug.
To use jemalloc with your app, either prefix commands with
LD_PRELOAD=/app/vendor/jemalloc/lib/libjemalloc.so.1 in your
environment (it will then apply to all commands run).
Example, in your Procfile:
web: jemalloc.sh bundle exec puma -C config/puma.rb
Setting LD_PRELOAD can sometimes mess with the building of an app - if you're seeing errors during slug compilation, try removing LD_PRELOAD and just using
heroku buildpacks:add --index 1 https://github.com/mojodna/heroku-buildpack-jemalloc.git git push heroku master
If you're not seeing great results from Jemalloc 4.x, you can try Jemalloc 3.6 instead:
heroku buildpacks:add --index 1 https://github.com/mojodna/heroku-buildpack-jemalloc.git#v3.6.0 git push heroku master
Note that you can also use this syntax to lock your buildpack to a specific release.
This uses Docker to build against Heroku stack-image-like images.
Artifacts will be dropped in
Dockerfiles for build options.