我想知道ruby 1.9.x使用的GC调优在2.0中是否仍然与GC的新实现相关。如果是这样的话,有没有什么新的东西我们可以在新版本上配置?
我说的是以下设置
RUBY_HEAP_MIN_SLOTS=600000
RUBY_GC_MALLOC_LIMIT=59000000
RUBY_HEAP_FREE_MIN=100000发布于 2013-04-30 23:54:59
关于这些GC调优参数有相当多的混淆。REE (它是Ruby1.8.7的一个分支) introduced its own parameters first,以及后来的Ruby (从1.9.2开始)引入了自己的(类似的)参数。Ruby 1.9.3使它们可以通过环境变量进行自定义,Ruby 2.1.0则添加了更多内容。
This blog post详细介绍了核磁共振成像中的垃圾收集以及所有调优变量的含义。
下面是每个Ruby版本的所有调优变量的完整列表:
REE
Ruby 1.9.2
(硬编码,但可通过this patch的环境变量进行自定义)
Ruby 1.9.3
Ruby 2.0.0
与Ruby 1.9.3相同
Ruby 2.1.0
Ruby 2.1.1
发布于 2014-02-25 09:51:26
来自Ruby2.1.x http://tmm1.net/ruby21-rgengc/
export RUBY_GC_HEAP_INIT_SLOTS=600000
export RUBY_GC_HEAP_FREE_SLOTS=600000
export RUBY_GC_HEAP_GROWTH_FACTOR=1.25
export RUBY_GC_HEAP_GROWTH_MAX_SLOTS=300000或者这个
# Boost Ruby
export RUBY_GC_HEAP_INIT_SLOTS=1000000 # 1M
export RUBY_GC_HEAP_FREE_SLOTS=500000 # 0.5M
export RUBY_GC_HEAP_GROWTH_FACTOR=1.1
export RUBY_GC_HEAP_GROWTH_MAX_SLOTS=10000000 # 10M
export RUBY_GC_MALLOC_LIMIT_MAX=1000000000 # 1G
export RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR=1.1
# export RUBY_GC_OLDMALLOC_LIMIT=500000000 # 500M
# export RUBY_GC_OLDMALLOC_LIMIT_MAX=1000000000 # 1G
# export RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR=1.1$ rvm install 2.1.2 --patch railsexpress -n railsexpress
$ rvm --default use 2.1.2-railsexpresshttps://stackoverflow.com/questions/16299419
复制相似问题