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
相关资源:敏捷开发V1.0.pptx