天天看點

使用jprofiler監控jruby腳本

jruby本質上也是啟動一個jvm,然後去讀ruby腳本并解釋執行(也可以編譯),是以jprofiler理所當然也可以去監控jruby腳本的執行。

執行     

jruby hello.rb

等價于執行:

java -xmx378m -xss1024k  -djruby.home=/usr/local/jruby

                                   -djruby.lib=/usr/local/jruby/lib djruby.script=jruby org.jruby.main hello.rb

這一點,你可以通過ps aux |grep jruby 看到。是以配置jprofiler就簡單了,在vm arguments加上這些參數(可以包括jruby的參數),比如我的vm arguments配置如下:

-server -xmx378m -xss1024k -djruby.script=jruby -djruby.thread.pooling=true

                   -djruby.jit.threshold=0 -djruby.compile.fastest=true

                   -djruby.home=d:\jruby\jruby-1.1rc2 -djruby.lib=d:\jruby\jruby-1.1rc2\lib

main class or executable jar填上:org.jruby.main。然後就是arguments一欄填上你的腳本位置:

d:\ruby\lib\hello.rb

最後,别忘了将jruby/lib目錄下的bsf.jar和jruby.jar加入class path。

大功告成,你可以用jprofiler去觀察gc、線程和鎖、heap等等了。

文章轉自莊周夢蝶  ,原文釋出時間 2008-03-24