【问题标题】:Ruby 2.1.5 - GC tuningRuby 2.1.5 - GC 调优
【发布时间】:2015-02-04 11:28:41
【问题描述】:

我的服务器上安装了 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
  • 导轨 - 3.2.18
  • 乘客 - 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=? 

如果需要任何其他信息,请告诉我!

【问题讨论】:

    标签: ruby-on-rails performance garbage-collection garbage ruby-2.1


    【解决方案1】:

    如何分配这些值?

    通过环境变量,例如:

    RAILS_ENV=production RUBY_GC_MALLOC_LIMIT=90000000 bundle exec thin start
    export RUBY_GC_MALLOC_LIMIT=90000000
    ...
    

    (如果我误解了这个问题,而您的意思是“我可以为这些值分配什么?”Have a loook herehere。)

    【讨论】:

    • 我的意思是“如何”,我应该在我的环境/服务器中分析什么来为这些变量找到合适的值。顺便说一句,我会在我的问题中进行修改。并感谢链接。会去看看。
    猜你喜欢
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 2015-03-16
    • 2015-03-24
    • 2015-04-13
    相关资源
    最近更新 更多