初始分配后,低RUBY_GC_HEAP_GROWTH_FACTOR会影响性能吗?

时间:2018-02-07 08:52:32

标签: ruby performance memory memory-management

如果我为我的网络应用设置RUBY_GC_HEAP_GROWTH_FACTOR非常低(比方说,1.01),这会在初始启动服务器进程后影响性能吗?由于ruby要求操作系统内存并且永远不会回复,因此这个初始增长阶段不是唯一受影响的事情吗?

1 个答案:

答案 0 :(得分:1)

RUBY_GC_HEAP_GROWTH_FACTOR确定如果Ruby内存不足,分配多少额外内存。如果您的应用中突然出现内存要求,那么这么低的因素会大大降低您的响应速度。如果您处理的请求数量几乎保持不变,那么您可以使用如此低的设置 - 但是如果增加1%,应用程序的“启动时间”可能会花费几分钟,在此期间性能将会非常糟糕。分配内存,特别是在使用大量系统调用的小块中,可能会非常慢。由你来决定是否值得保存几MB的内存,但我倾向于拒绝。

Ruby 在使用后实际上没有任何内容(除常量之外)也没什么值得的,虽然速度很慢。