Ответ 1
Там есть путаница в отношении этих параметров настройки GC. REE (который является вилкой Ruby 1.8.7) представил свои собственные параметры в начале, а позже Ruby (начиная с 1.9.2) представил свои собственные (аналогичных) параметров. Ruby 1.9.3 сделали их настраиваемыми с помощью переменных среды, а Ruby 2.1.0 добавили намного больше.
В этом сообщении в блоге подробно рассказывается о сборке мусора в МРТ и о том, что означают все переменные настройки.
Здесь приведен полный список всех настраиваемых переменных для каждой версии Ruby:
REE источник
- RUBY_HEAP_MIN_SLOTS
- RUBY_HEAP_SLOTS_INCREMENT
- RUBY_HEAP_SLOTS_GROWTH_FACTOR
- RUBY_GC_MALLOC_LIMIT
- RUBY_HEAP_FREE_MIN
(жестко закодированный, но настраиваемый через переменные среды с этот патч)
- GC_MALLOC_LIMIT
- HEAP_MIN_SLOTS
- FREE_MIN
Ruby 1.9.3 источник
- RUBY_GC_MALLOC_LIMIT
- RUBY_HEAP_MIN_SLOTS
- RUBY_FREE_MIN
Ruby 2.0.0 источник
То же, что Ruby 1.9.3
Ruby 2.1.0 источник
- RUBY_GC_HEAP_INIT_SLOTS (устаревает RUBY_HEAP_MIN_SLOTS)
- RUBY_GC_HEAP_FREE_SLOTS (obsoletes RUBY_FREE_MIN)
- RUBY_GC_HEAP_GROWTH_FACTOR (новый)
- RUBY_GC_HEAP_GROWTH_MAX_SLOTS (новый)
- RUBY_GC_MALLOC_LIMIT
- RUBY_GC_MALLOC_LIMIT_MAX (новый)
- RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR (новый)
- RUBY_GC_OLDMALLOC_LIMIT (новый)
- RUBY_GC_OLDMALLOC_LIMIT_MAX (новый)
- RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR (новый)
Ruby 2.1.1 источник
- RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR (новый)