【问题标题】:How to tune Garbage Collection in Ruby?如何在 Ruby 中调整垃圾收集?
【发布时间】:2017-07-24 12:21:17
【问题描述】:

我正在做一个 ruby​​ 项目。我使用 tunemygc gem 为我的应用程序获取一些最佳设置。

RUBY_GC_HEAP_INIT_SLOTS 220886
RUBY_GC_HEAP_FREE_SLOTS 3378483
RUBY_GC_HEAP_GROWTH_FACTOR  1.03
RUBY_GC_HEAP_GROWTH_MAX_SLOTS   478
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR 2.0
RUBY_GC_MALLOC_LIMIT    16777216
RUBY_GC_MALLOC_LIMIT_MAX    30198989
RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR  1.32
RUBY_GC_OLDMALLOC_LIMIT 16777216
RUBY_GC_OLDMALLOC_LIMIT_MAX 30198989
RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR   1.2

但我不知道如何使用这些设置配置我的垃圾收集。

【问题讨论】:

  • 为什么你觉得你需要调整 GC?
  • 只是想试试它对机器性能的影响。
  • 如果您真的对此感兴趣,您可能想购买“Ruby 性能优化”一书并查看最后一章“调整垃圾收集器”。听起来并不居高临下,但这是一个非常高级的话题,我不会向刚接触堆栈的人推荐它。
  • @bkunzi01 感谢您的推荐。

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


【解决方案1】:

将它们设置为服务器上的环境变量,以便 ruby​​ 进程在启动时可用。如:

export RUBY_GC_HEAP_INIT_SLOTS=220886
...

然后启动你的 ruby​​ 应用程序

【讨论】:

    【解决方案2】:

    如果您的应用在 heroku 上,您还可以使用免费的 heroku 插件,只需一个按钮即可应用所有推荐的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多