我的服务器上安装了 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
- 乘客 - 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=?
如果需要任何其他信息,请告诉我!
最佳答案
How do I assign those values?
通过环境变量例如:
RAILS_ENV=production RUBY_GC_MALLOC_LIMIT=90000000 bundle exec thin start
export RUBY_GC_MALLOC_LIMIT=90000000
...
(如果我误解了这个问题,而您实际上是指“我可以为这些值分配什么?”Have a loook here 和 here。)
关于ruby-on-rails - Ruby 2.1.5 - GC 调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28320250/