Coder Social home page Coder Social logo

cubebrush / heroku-buildpack-jemalloc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gaffneyc/heroku-buildpack-jemalloc

0.0 1.0 0.0 40 KB

Heroku buildpack that installs the Jemalloc memory allocator

License: BSD 3-Clause "New" or "Revised" License

Makefile 48.85% Shell 51.15%

heroku-buildpack-jemalloc's Introduction

heroku-buildpack-jemalloc

jemalloc is a general purpose malloc implementation that works to avoid memory fragmentation in multithreaded applications. This buildpack makes it easy to install and use jemalloc on Heroku and compatible platforms.

Install

heroku buildpacks:add --index 1 https://github.com/gaffneyc/heroku-buildpack-jemalloc.git
git push heroku master

Made possible by Dead Man's Snitch

Continued development and support of the jemalloc buildpack is sponsored by Dead Man's Snitch.

Ever been surprised that a critical recurring job was silently failing to run? Whether it's backups, cache clearing, sending invoices, or whatever your application depends on, Dead Man's Snitch makes it easy to monitor heroku scheduler tasks or to add cron job monitoring to your other services.

Get started for free today with Dead Man's Snitch on Heroku

Usage

Recommended

Set the JEMALLOC_ENABLED config option to true and jemalloc will be used for all commands run inside of your dynos.

heroku config:set JEMALLOC_ENABLED=true

Per dyno

To control when jemalloc is configured on a per dyno basis use jemalloc.sh <cmd> and ensure that JEMALLOC_ENABLED is unset.

Example Procfile:

web: jemalloc.sh bundle exec puma -C config/puma.rb

Configuration

JEMALLOC_ENABLED

Set this to true to automatically enable jemalloc.

heroku config:set JEMALLOC_ENABLED=true

To disable jemalloc set the option to false. This will cause the application to restart disabling jemalloc.

heroku config:set JEMALLOC_ENABLED=false

JEMALLOC_VERSION

Set this to select or pin to a specific version of jemalloc. The default is to use the latest stable version if this is not set. You will receive an error mentioning tar if the version does not exist.

Default: 5.2.1

note: This setting is only used during slug compilation. Changing it will require a code change to be deployed in order to take affect.

heroku config:set JEMALLOC_VERSION=3.6.0

Available Versions

Version Released
3.6.0 2015-04-15
4.0.4 2015-10-24
4.1.1 2016-05-03
4.2.1 2016-06-08
4.3.1 2016-11-07
4.4.0 2016-12-04
4.5.0 2017-02-28
5.0.1 2017-07-01
5.1.0 2018-05-08
5.2.0 2019-04-02
5.2.1 2019-08-05

The complete and most up to date list of supported versions and stacks is available on the releases page.

Building

This uses Docker to build against Heroku stack-image-like images.

make VERSION=5.1.0

Artifacts will be dropped in dist/ based on Heroku stack and jemalloc version.

Deploying New Versions

  • make VERSION=X.Y.Z
  • open dist
  • Go to releases
  • Edit the release corresponding to each heroku Stack
  • Drag and drop the new build to attach

Creating a New Stack

  • Go to releases
  • Click "Draft a new release"
  • Tag is the name of the Stack (e.g. heroku-18)
  • Target is release-master
  • Title is Builds for the [stack] stack

heroku-buildpack-jemalloc's People

Contributors

brian-kephart avatar gaffneyc avatar heaven avatar mojodna avatar nateberkopec avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.