使用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等等了。

你可能感兴趣的:(使用jprofiler监控jruby脚本)