在研究 Unicorn 配置选项时,我遇到了这个片段。
GC.respond_to?(:copy_on_write_friendly=) and
GC.copy_on_write_friendly = true
如果我理解正确的话,它优化了 Unicorn 如何处理工作人员之间的内存分配和资源共享?
我使用 Unicorn 来驱动我的 Sinatra 应用程序,该应用程序运行在 Ruby 1.9.3 服务器上。包含写时复制友好在我的独角兽配置中设置?
答案1
这不是一个配置选项,而是一个 Ruby 代码片段,它告诉它如果 GC 对象具有该方法,则设置 copy_on_write_friendly。例如,在 ruby mainline 1.9.2p290 中:
1.9.2p290 :003 > GC.copy_on_write_friendly
NoMethodError: undefined method `copy_on_write_friendly' for GC:Module
from (irb):3
from /Users/kyle/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
据我所知,唯一支持此选项的 Ruby 解释器是 Ruby Enterprise Edition。这里有一些相关信息:http://www.rubyenterpriseedition.com/faq.html