JRuby官方版是一款以Java 虚拟机(JVM)打造的Ruby解释工具,JRuby官方版功能强劲,结合了 Ruby 语言的简易性和功能强大的 JVM 的执行机制,包括与 Java 库全面集成。
使用技巧
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: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等等了。
更新日志
基于一个传统编译器设计的优化运行时
新的 POSIX-friendly IO 和 Process
完全从 MRI 移植 encoding/transcoding 逻辑