Ruby 1.8.7 を搭載した Mac OS X でメモリ使用量に対してruby-profを動作させようとしてきましたが、今のところうまくいきません。
RubyProf::MEMORY
modeには Ruby のパッチが適用されたバージョンが必要であることをドキュメントから理解しています。RVMを使用して、GC パッチを適用したバージョン ( Rails のドキュメントで参照されていることがわかりました) をインストールしようとしました。
rvm reinstall 1.8.7 --patch ruby187gc
このコマンドの出力に基づくと、すべてが良好に見えます。コンソール出力に「Applying patch 'ruby187gc'」とはっきりと表示されます。
RVM gemset を使用しようとすると、問題が発生するようです。これをテストするために、次のスクリプトを作成しました。
require "ruby-prof"
RubyProf.measure_mode = RubyProf::MEMORY
results = RubyProf.profile do
# code to measure
end
File.open(File.join(File.dirname(__FILE__), "profile-graph.html"), "w") do |file|
RubyProf::GraphHtmlPrinter.new(results).print(file)
end
このスクリプトrvm use 1.8.7 --patch ruby187gc
の前に . ただし、のようなものを試すとrvm use 1.8.7@gemset_name --patch ruby187gc
、出力ファイルにはすべての「nan」値が含まれます。
何を与える?パッチを適用したバージョンの Ruby を RVM gemset と一緒に使用するための特別なトリックはありますか? 問題は別の場所にありますか? 私は指を交差させており、誰かが非常によく似た問題に遭遇し、以前にこれを理解したことを願っています.