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

标签 ruby ruby-enterprise-edition

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

但是这些文章都没有说把这个配置放在哪里。我想如果它在环境中,ruby 会在它启动时拾取它——但是,据我所知,没有办法检查它。这些设置不会出现在我能找到的任何运行时常量中。

那么,我应该把这个配置放在哪里,我怎样才能仔细检查它是否被使用了?

最佳答案

这些设置是 environment variables ,因此您只需要在 ruby 进程本身的父进程中设置它们。 Many people建议为此目的创建一个简单的 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

关于ruby - Ruby 内存配置在哪里,如何检查它是否已设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642793/

相关文章:

ruby-on-rails - 使用 RVM 升级到 Ruby 2.1.2 后出现 PaperTrail (paper_trail) 错误。未初始化常量 PaperTrail::Rails::Engine

css - tr 是否限制特定类 Ruby Nokogiri

ruby - Rails 3 不需要的 html 转义

ruby-on-rails - 没有要加载的文件 -- Ruby Enterprise Edition 1.8.7 下的 rails/cli

Ruby 企业版 + OpenSSL -> "certificate verify failed"

javascript - 为什么 Settimeout 不拉取更新后的图片 URL?

ruby - 从一开始的多少行内必须放置各种方向?

ruby-on-rails - 生成 RDoc 失败,目录 .ext/rdoc 已经存在

ruby-on-rails - Rails 3.1 和 Ruby EE

javascript - ree + cucumber 中的 headless JavaScript 测试