首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ruby 1.9中的垃圾收集器调优

Ruby 1.9中的垃圾收集器调优
EN

Stack Overflow用户
提问于 2011-02-14 00:25:11
回答 2查看 7.5K关注 0票数 19

我知道GC.enable/disable,但是有没有更详细地控制1.9垃圾收集器的方法呢?

当分析我的代码(使用perftools.rb)时,我注意到GC占总样本的30%,我想看看是否可以调优GC来减少这个数字。是否有任何环境变量或其他方法可以用来设置堆插槽的数量、malloc限制等,就像使用REE一样?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-15 04:50:21

不是的。

没有办法调优1.9.0-1.9.2GC。但是,您可以编译一个自定义VM,它公开的调优参数与使用this patch的REE或多或少相同。

票数 1
EN

Stack Overflow用户

发布于 2011-02-19 17:47:54

是的,简而言之。

首先,基本常量,定义GC行为(显示默认值):

  • RUBY_GC_MALLOC_LIMIT = 8000000 #-在耗尽所有可用memory
  • RUBY_HEAP_MIN_SLOTS后分配的新内存片的初始大小= 10000 #-初始内存大小,在startup
  • RUBY_HEAP_SLOTS_GROWTH_FACTOR = 1,8 #时分配-在每次allocation.
  • RUBY_HEAP_SLOTS_INCREMENT =1之后,新内存片的大小是以前的X倍=1#老实说,不确定:)

More details about GC, may help

A story from 37 37signals,这可能会对你有绝对的帮助。他们及时使用手动GC调用(GC.start),而不是内存大小,并获得了巨大的提升。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4985310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档