浏览 10399 次
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-28
这里我选取两个proflie工具来讲解,第一个是jprofiler,官网(http://www.ej- technologies.com/products/jprofiler/overview.html)上提供了两个非常详细的Demo来教大家 jprofiler的一些常用features,以及简单的使用方法,这里我就着重讲如何用jprofiler来profile我们的OSGI系统吧。 最简单的,jprofiler提供对某个可执行的jar,或者一段main程序来进行profile咯,对于我们的OSGI系统我们则要把它当作一个本地得application server来进行监控,操作都还简单,如下图进行选择。 注意,到了第6步Perform modifications这里得时候,要做重要的两步,第一将它给你得一段参数添加到我们利用命令行去启动我们的OSGI环境的“java”命令,一般 的我们以命令行去启动一个OSGI环境是利用命令"java -jar *.jar"的形式,这里我就只需要把jprofiler提供给你的那段命令添加到"java"命令后就可以了。 其次我们还需要将jprofiler\bin\windows加入环境变量。然后Next,这样就一个profile得配置就配好了。 一切准备就绪后,就启动我们的OSGI应用,如下图: 这样我们就可以看到jprofiler对我们的OSGI应用进行的实时的监控了,一般的最常用的要算是Memory View 和Thread View,其中都可以进行进行filter,这样,如果你看到某些对象一直在上升并得不到释放,或者某些线程在直线上升,你就应该大致的知道问题出在哪里 了吧。 在实际应用中,我们也发现了jprofiler对OSGI应用进行profiler时的一些小bug,不过大致说来还是不错的(因为有破解:))此外还要 注意一点,就是jprofiler好像不能识别空格,也就是说在以这种方式进行profile的时候,jprofiler要用到一个系统用户目录下的. jprofiler4文件夹下的一个xml,以及jprofiler4\bin下的agent,jar如果这些目录中有空格存在的话,jprofiler 是要报错的,大家留意一下. 接下来我再介绍一款profile工具:yourkit java profiler(http://www.yourkit.com/overview/index.jsp),这款工具我比较喜欢,目前为之也没有出现在 jprofiler中出现的一些bug,而且可以为很多IDE提供插件来直接在IDE中对我们的应用进行profile(当然jprofiler也可以) 唯一的不足就是7.0的版本还没有破解,不过6.0已经有了,大家可以去google一下。 使用起来yourkit也与jprofiler大致相同,接下来我就简单演示下如何用yourkit来对我们的OSGI应用进行profile。 先把YourKit Java Profiler 7.0.6\bin\win32加入你的path环境变量中。 然后写一个bat来以命令行的方式执行我们的OSGI应用,具体的写法你可以参照yourkit的安装目录下的samples目录中给你提供的一些 sample来写。我这里写了一个,其实我就copy了sample目录下得一个bat来改了改,这里要注意一点,如果你的应用是运行在jdk1.4或者 1.3之下的请使用-Xrunyjpagent这条命令,如果是在1.5以上则用-agentlib:yjpagent,我这里用后者 @echo off bat 代码
然后把这个bat放至你的应用所在根目录,用这个bat去启动你的OSGI应用。 看,应用启起来了 然后到yourkit中去进行应用程序的搜索,yourkit会自动将当前注册了其监控agent的应用都搜索出来 OK,到这里,我们就可以开始用yourkit进行对我们的OSGI应用的profile了,和jprofiler相似的,它也可以从CPU,Memory,Tread几个方面对应用进行监控。 其中得Monitor Usage是我比较喜欢使用的,从这里可以看到当前具体线程的详细情况,来帮助我进行系统性能分析。 好了,到此就简单将几个profile工具如何对我们的OSGI应用进行profile的做法给大家介绍一下,其实在netbeans上面的 profile工具也是非常好用的,以后我还将深入的推出如何对利用这些profile工具对我们的OSGI应用进行一步步的性能调优工作,有感兴趣的同 学可以和我一起讨论。总之个人认为学会如何利用profile工具来优化或者debug我们的系统是非常有必要的,对提高系统的稳定性,健壮性帮助非常 大,也应该引起我们程序开发人员的注意。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-28
现在最常用的是BEA JRockit,觉得最好!
|
|
返回顶楼 | |
发表时间:2007-10-28
嗯,谢谢,我会去看看~
|
|
返回顶楼 | |