2013-03-26 10 views
5

、およびMRI 1.9+、ルビーのガベージコレクタを調整することができます。Rubyのメモリコンフィグレーションはどこにありますか?設定されている場合、どうすれば確認できますか? REEで

しかし、これらの記事のどれもが、この設定をどこに置くか言っていません。私はそれが環境にある場合、ルビーが起動時にそれを拾うだろうと想像しています - しかし、これまで私が知る限り確認する方法はありません。私が見つけることができる実行時定数には設定が表示されません。

この設定はどこにありますか。どのように使用されているか再確認するにはどうすればよいですか?

答えて

1

これらの設定はenvironment variablesなので、rubyプロセス自体の親プロセスで設定する必要があります。 Manypeopleは、おそらく/usr/local/bin/ruby-customそれを呼び出し、この目的のために、簡単なシェルスクリプトを作成することをお勧めし:

#!/bin/bash 
export RUBY_HEAP_MIN_SLOTS=20000 
export RUBY_HEAP_SLOTS_INCREMENT=20000 
...etc... 
exec "/path/to/ruby" "[email protected]" 

最初の数行は、あなたがしたい方カスタム変数を設定し、最後の行は、このスクリプトが何であっても、引数を渡し、ruby自身を呼び出します最初に与えられた。

あなたが次の実行可能(chmod a+x /usr/local/bin/ruby-custom)として、このスクリプトをマークして、あなたのApacheの.confファイルにこれを追加することにより、ruby実行可能ファイルとしてそれを使用する旅客を設定する必要があります:

PassengerRuby /usr/local/bin/ruby-custom 
+0

ありがとう - しかし、どのような2番目の質問について - 実行時に設定が機能したことを再確認するにはどうすればよいですか? (本当に私の主な質問です) –

+0

Ruby 1.9以降では、['GC.stat'](http://ruby-doc.org/core-1.9.3/GC.html#method- c-stat)を使用して、これらの設定の一部を検査します。 REEは[end-of-life]です(http://blog.phusion.nl/2012/02/21/ruby-enterprise-edition-1-8-7-2012-02-released-end-of) 〜ライフ・インマント/) –

関連する問題