G5/g5-content-management-system — pull request #388 by bbauer (2014-06-18 22:10:55+00:00)
Title: Ruby 2.1.2 tuned 73084732

Finishes https://www.pivotaltracker.com/story/show/73084732

Running Ruby 2.1.2 with the following tuning seems to be working good with no R14 errors on https://g5-cms-1sbdk8wp-bb-self-storag.herokuapp.com

``` RUBY_GC_MALLOC_LIMIT_MAX=50000000 ```
``` RUBY_GC_OLDMALLOC_LIMIT_MAX=50000000 ```
``` RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.3 ```
``` RUBY_GC_HEAP_GROWTH_MAX_SLOTS=200000 ```

* RUBY_GC_MALLOC_LIMIT_MAX
> GC.stat[:malloc_limit] changes dynamically through a growth factor. This sets its maximum value. Default value is 33554432 (32mb).

* RUBY_GC_OLDMALLOC_LIMIT_MAX
> The maximum value GC.stat[:oldmalloc_limit] can have. Default value is 33554432 (32mb).

* RUBY_GC_HEAP_GROWTH_MAX_SLOTS
> The maximum number of slots on the Ruby heap. Default value is 0, which means the feature is disabled. But if the number is higher than 0 it sets the maximum number of slots Ruby is allowed to add to its heap at once.
The higher the number the less GC runs does Ruby need for its heap to grow to the needed size:
If it is not set Ruby uses the heap growth factor to determine by how much to grow the heap.

* RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR
> The factor by which Ruby increases GC.stat[:oldobject_limit] andGC.stat[:remembered_shady_object_limit] after each major GC. Default value is 2.0.