2012-11-21 25 views
0

我一直试图让ruby-prof工作在Mac OS X瓦特/红宝石1.8.7的内存使用,到目前为止我没有太多的运气。使用rvm gemset分析内存使用情况w/ruby​​-prof有没有技巧?

我从文档中得知RubyProf::MEMORY模式requires a patched version of Ruby。我试图通过RVM安装GC打补丁的版本(这是我在the Rails documentation找到所引用):

rvm reinstall 1.8.7 --patch ruby187gc 

基于此命令的输出,一切看起来不错。我清楚地看到“在应用程序输出中应用补丁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,它创造出各种不同的方法的内存使用的文件“型材graph.html”调用脚本,因为我期待。但是,当我尝试类似rvm use [email protected]_name --patch ruby187gc时,输出文件包含所有“nan”值。

什么给?使用补丁版本的Ruby和RVM gemset有什么特别的技巧吗?问题在别处吗?我越过我的手指,希望有人遇到了一个类似的问题,并在之前想到了这一点。

回答

2

啊,我太过于复杂了。原来我只需要uninstall and reinstall ruby​​-prof宝石(在修补Ruby之后)。