閱讀305 返回首頁    go 阿裏雲 go 技術社區[雲棲]


使用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=-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

最後更新:2017-05-17 17:32:11

  上一篇:go  Ruby性能優化的幾個Tip(update)
  下一篇:go  scheme解約瑟夫環問題