1.1 环境说明
本地安装JProfiler,Weblogic相关工具
1.2 步骤说明
1. 打开工具JProfiler后,在Session菜单下选择New windows,d出Quickstart窗口界面,在该界面选择第三项An application server, locally or remotely, 然后点击Next.
2. 进入Integration wizard界面,选择应用服务的类型和版本.此处,我们选择BEA Weblogic 8.1, 然后点击Next.
3. 选择连接的类型,是本地还是远程,这里我们选择本地(on this computer), 然后点击Next.
4. 选择Weblogic的启动文件Startweblogic.cmd, 然后点击Next.
5. 选择JDK的提供厂商和其版本. 这里我们选择了Sun Microsystems 的1.4版, 然后点击Next.
6. 选择两种处理模式,这里选择第一种,符合应用服务(JIT/hotspot complation enabled)
7. 选择JProfiler的使用端口,对于本地连接来说,此处作用不大,用默认即可
8. 选择第一个,启动weblogic时,试图去连接本次建立的连接,一直会等待到成功连接,而选择第二个,若是发现weblogic没有启动,将不做等待这里我们选择第一项.
9. 对前面设置的内容统一展现,若是检查没有问题,则点击Next,进行下一步 *** 作.
10. 点击Finish, 完成了本次连接的配置,若是选择了马上连接,则下一步开始连接.
11. 这里对配置好的连接进行设置,根据需要可以进行过虑等设置,完成后点击OK.
12. 开始连接本地的weblogic应用,连接成功后,可以得到相关的信息
2. 远程连接
2.1环境说明
本地安装JProfiler
监控机器上安装JProfiler
两台机器能够ping通,且在本地映射监控机器上的Weblogic的安装目录(本文档把监控机器的bea815映射到本地的F盘),该目录必须是可写的.
2.2步骤说明
1.打开工具JProfiler后,在Session菜单下选择New windows,d出Quickstart窗口界面,在该界面选择第三项An application server, locally or remotely, 然后点击Next.
2. 进入Integration wizard界面,选择应用服务的类型和版本.此处,我们选择BEA Weblogic 8.1,然后点击Next.
3. 选择连接的类型,是本地还是远程,这里我们选择远程(on a remote computer), 再选择远程计算机的 *** 作系统,然后点击Next.
4. 选择远程监控机器的IP地址或服务器名.
5. 这里的路径为远程监控机器安装JProfiler的路径.
6. 选择远程监控机器的Weblogic的启动文件,startWeblogic.cmd(先把远程监控机的weblogic的启动文件的路径映射成本地路径)
7. 选择JDK的提供厂商和其版本. 这里我们选择了Sun Microsystems 的1.4版.
8. 选择两种处理模式,这里选择第一种,符合应用服务(JIT/hotspot complation enabled)
9. 选择JProfiler的使用端口,要求本地安装的JProfiler和远程监控机的JProfiler保持一致,才能够保证连接,此处都用默认的8849.
10. 选择第一个,启动weblogic时,试图去连接本次建立的连接,一直会等待到成功连接,而选择第二个,若是发现weblogic没有启动,将不做等待这里我们选择第一项.
11.对前面设置的内容统一展现,若是检查没有问题,则点击Next,进行下一步 *** .
12. 点击Finish, 完成了本次连接的配置,若是选择了马上连接,则下一步开始连接,在开始连接之前,要求先启动远程监控机上Weblogic目录下的JProfiler配置连接时产生的startWebLogic_jprofiler.cmd文件.
(该文件和startWebLogic.cmd文件在同一目录下)
13. 这里对配置好的连接进行设置,根据需要可以进行过虑等设置,完成后点击OK.
14. 开始连接本地的weblogic应用,连接成功后,可以得到相关的信息.
jprofiler(Java性能分析工具) v10.0官方版 http://www.ddooo.com/softdown/94973.htmJprofiler使用说明
1、在windows下运行Jprofiler
2、新建连接
3、选择apache-tomcat版本
4、选择远程系统类型
5、选择远程系统上所运行的java版本
6、选择第二项,先不启动连接
7、输入远程主机的IP
8、输入远程主机上Jprofiler的安装路径
9、把远程主机tomcat/bin目录下的start.sh下载到本地,并上传到Jprofiler,如下图所示
10、选择配置端口
11、检查更改的信息
12、设置为待会启动
13、返回 下载的start.sh的相应目录会查看到有一个文件名为:start_jprofiler.sh的文件
把start_jprofiler.sh文件上传到tomcat/bin目录下,并授予可执行权限
14、查看下远程主机是否已经启动了tomcat的进程,如果有需先杀死:killall java
15、重启tomcat
[root@zhoucentos bin]# ./startup_jprofiler.sh &tail -f ../logs/catalina.out
16、window下连接远程主机
很久之前用过的,参考:第一种、本地程序由jprofiler来引导程序启动,
第二种、在客户端远程监控服务端的CS模式,必须在客户端和服务端都安装jprofiler,服务端需要在环境变量里加入LD_LIBRARY_PATH 值为JProfiler 的库文件所在路径,比如 $JPROFILER_HOME/bin/linux-x86,然后将服务端的启动脚本考到客户端上,在客户端配置时有一步选择这个脚本(locate the start script),jprofiler会给脚本添加一些自己的配置,然后服务端使用jprofiler改好的这个脚本启动,这时候是不会真正启动的,他在等待客户端的触发,客户端jprofiler再启动的时候就可以远程监控到服务端jvm了。本地的程序的话按照向导就很容易做了。
分析:
1、揣测、在Memory Views这个页面右键点击比较有可能出现泄漏的类,然后add selection to class tracker。有几项最常出现泄漏的最好加进来:String,char[],HashMap的entry,以及用过滤器通过包名筛选出自己的项目里用到的类
2、跟踪、经过过一段时间后,查看memeory views里的class tracker的tab页,可以看到对象数量在这一段时间内的记录,如果有增长过快、或持续增长而不释放的则会造成泄漏
3、追溯、定位了这个类后再就看一下是谁引用他导致内存没有释放,在heap walker里,找到刚才的class,右键它查看他的引用references,针对可能出现问题的类进行源码浏览、确定根源在哪里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)