Ruby内存配置在哪里,如何检查它是否已设置



在REE和MRI 1.9+中,ruby的垃圾收集器可以调优:

  • http://www.rubyenterpriseedition.com/documentation.html _garbage_collector_performance_tuning
  • http://smartic.us/2010/10/27/tune-your-ruby-enterprise-edition-garbage-collection-settings-to-run-tests-faster/
  • http://blog.evanweaver.com/articles/2009/04/09/ruby-gc-tuning/

但是这些文章都没有说明将这个配置放在哪里。我想,如果它在环境中,ruby会在它启动时将其捡起——然而,据我所知,没有办法检查这一点。这些设置没有显示在我能找到的任何运行时常量中。

那么,我把这个配置放在哪里,我怎样才能再次检查它是否被使用?

这些设置是环境变量,因此您只需要在ruby进程本身的父进程中设置它们。许多人建议为此创建一个简单的shell脚本,也许将其命名为/usr/local/bin/ruby-custom:

#!/bin/bash
export RUBY_HEAP_MIN_SLOTS=20000
export RUBY_HEAP_SLOTS_INCREMENT=20000
...etc...
exec "/path/to/ruby" "$@"

前几行设置您想要的自定义变量,最后一行调用ruby本身,将脚本最初给出的参数传递给它。

接下来需要将此脚本标记为可执行(chmod a+x /usr/local/bin/ruby-custom),然后配置Passenger以将其用作ruby可执行文件,方法是将其添加到Apache .conf文件中:

PassengerRuby /usr/local/bin/ruby-custom

相关内容

  • 没有找到相关文章

最新更新