您的位置:首页 > 运维架构 > Tomcat

我的Jprofiler监测tomcat

2014-03-24 23:20 260 查看
1.New server integration按钮,打开集成向导,引导你将JProfiler与本地或远程的应用服务器进行集成,如果你所使用的应用服务器不在列表中,则选择“Generic application sever ”。这里选择Apache Tomcat 7.x

2.选择要集成的应用服务器是本地的,还是远程的。如果你选择过程计算机,在选择的计算机上必须安装JProfiler,并选择远程计算机的操作系统。这里选择On this computer

3.你选择J***A版本时,如果是64位,就勾上64位的。

4.选择启动脚本,选择所集成的应用服务器的启动脚本,如,TOMCAT在WINDOW下常用的启动脚本为F:\NoSetup\Tomcat7\bin\startup.bat。如果脚本是远程的,你必须有远程计算机磁盘的可写权限,或者将启动脚本拷贝到本地。

5.选择监测的连接端口,JProfiler GUI 前端通过指定的端口连接被监测的JVM,默认端口为8849。请不要选择常用的端口,如80或8080。

6.是否等待JProfiler GUI,在开发环境,建议选择wait,很容易修改监测设置;如果你选择不等待(startup immediately),在启动应用服务器之前要先配置监测设置(此时启动startup_jprofiler.bat)。VM参数依赖于JProfiler配置文件的位置;配置文件要与远程计算机上的保持同步。

7.完成,选择是否立即运行,选择NO,..

8.开始监测,只需要开始刚才创建的session即可或者(运行Tomcat7\bin下生成的startup_jprofiler.bat,此时出现等待waiting for a coinn....。然后在JProfiler中开始start刚才创建的session即可)。

文库:http://wenku.baidu.com/view/9669f1adf8c75fbfc77db2bc.html

-------------------------------------------

例如:

一、

web项目:

代码:

package cn.Test;

public class TestBean
{
    String name = "";

    public static void main(String[] args)
    {
        System.out.println("test");
    }
}
package cn.Test;

import java.util.ArrayList;

public class TestMain
{
    public static ArrayList list = new ArrayList(); // 存放对象的容器
    public static int counter = 0;// 作统计用
}


init1.jsp和init2.jsp一样:

<%@ page language="java" import="cn.Test.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>init1</title>
  </head>
  <body><%
	for(int i=0;i<10000;i++){
		TestBean b = new TestBean();
		TestMain.list.add(b);		
	}
	%>
	SIZE:<%=TestMain.list.size()%><br/>
	counter:<%=TestMain.counter++%>
  </body>
</html>


init.jsp:

<%@ page language="java" import="cn.Test.*,java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>init</title>
  </head>
  <body><%
  		ArrayList list=new  ArrayList();
		TestMain.list=list;	
	%>
	<%-- SIZE:<%=TestMain.list.size()%><br/> --%>
  </body>
</html>


二、

创建Jprofiler session并start

三、

1.运行init1.jsp一次

2.查看jprofiler

3.Run GC一次,TestBean没有回收,开始标记,出现Difference

4.再运行init1.jsp 3次,init2.jsp 2次

5.查看Heap

4.查看从标记后的调用页面

此时可以看到页面调用创建的TestBean对象。

______________________________
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: