我在服务器上安装了Ruby 2.1.5,并且需要配置GC调整变量以实现最佳/最佳Ruby性能。

以下是硬件/软件信息信息:

  • 内存-7697604 KB(8GB)
  • CPU-英特尔(R)至强(R)CPU E5-2670 v2 @ 2.50GHz(2核)
  • Ruby-2.1.5
  • Rails-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=?
    

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

    最佳答案

    如何分配这些值?

    通过env变量,例如:

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

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

    关于ruby-on-rails - Ruby 2.1.5-GC调整,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28320250/

    10-10 13:49