Ruby 2.1.5 - 垃圾回收调优

3
我在服务器上安装了Ruby 2.1.5,需要配置GC调优变量以获得最佳/最优的Ruby性能。
以下是硬件/软件信息:
- 内存 - 7697604 KB(8GB) - CPU - Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz(2核心) - Ruby - 2.1.5 - Rails - 3.2.18 - Passenger - 4.0.27
根据这个链接(http://tmm1.net/ruby21-rgengc/),我发现有大约476K个长期存在的对象(使用GC.stat(:heap_live_slot)),因此我分配了 RUBY_GC_HEAP_INIT_SLOTS=500000 但其他变量呢(如下所述)?这些变量的适当值应该是什么?我还应该在我的环境/服务器中进行什么样的分析(以及如何分析)以找到这些变量的适当值?
RUBY_GC_HEAP_FREE_SLOTS=?
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_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=? 

如果需要其他信息,请告诉我!
1个回答

2
“如何分配这些值?” 通过环境变量,例如:
RAILS_ENV=production RUBY_GC_MALLOC_LIMIT=90000000 bundle exec thin start
export RUBY_GC_MALLOC_LIMIT=90000000
...

(如果我误解了问题,实际上你是想问“我可以分配这些值给什么?” 在这里看看在这里。)

“怎么做”指的是,我应该分析我的环境/服务器来找到这些变量的合适值。顺便说一下,我会修改我的问题。还有谢谢你提供的链接,我会看一下的。 - Ramandeep Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接