JRuby官方安裝版是一款以Java 虛擬機(jī)(JVM)打造的Ruby解釋工具,本質(zhì)上也是啟動一個jvm,然后去讀ruby腳本并解釋執(zhí)行(也可以編譯),因此jprofiler理所當(dāng)然也可以去監(jiān)控jruby腳本的執(zhí)行。JRuby官方安裝版功能強(qiáng)勁,結(jié)合了 Ruby 語言的簡易性和功能強(qiáng)大的 JVM 的執(zhí)行機(jī)制,包括與 Java 庫全面集成。
使用技巧
JRuby官方版本質(zhì)上也是啟動一個jvm,然后去讀ruby腳本并解釋執(zhí)行(也可以編譯),因此jprofiler理所當(dāng)然也可以去監(jiān)控jruby腳本的執(zhí)行。
執(zhí)行
jruby hello.rb等價于執(zhí)行:
java -xmx378m -xss1024k -djruby.home=/usr/local/jruby
-djruby.lib=/usr/local/jruby/lib djruby.script=jruby org.jruby.main hello.rb這一點(diǎn),你可以通過ps aux |grep jruby 看到。因此配置jprofiler就簡單了,在vm arguments加上這些參數(shù)(可以包括jruby的參數(shù)),比如我的vm arguments配置如下:
-server -xmx378m -xss1024k -djruby.script=jruby -djruby.thread.pooling=true
-djruby.jit.threshold=0 -djruby.compile.fastest=true
-djruby.home=d:jrubyjruby-1.1rc2 -djruby.lib=d:jrubyjruby-1.1rc2lib
main class or executable jar填上:org.jruby.main。然后就是arguments一欄填上你的腳本位置:
d:rubylibhello.rb
最后,別忘了將jruby/lib目錄下的bsf.jar和jruby.jar加入class path。
大功告成,你可以用jprofiler去觀察gc、線程和鎖、heap等等了。
更新日志
基于一個傳統(tǒng)編譯器設(shè)計的優(yōu)化運(yùn)行時;
新的 POSIX-friendly IO 和 Process;
完全從 MRI 移植 encoding/transcoding 邏輯。