JProfiler 5.1.4的使用方法

1. JProfiler运行环境配置

安装目录结构如下,子目录中显示了支持的操作系统:

在服务器和客户端都要安装JProfiler,并且要安装License,在分析工具客户端中进行安装。Windows环境中运行客户端程序:

    jprofiler5.1.4\bin\jprofiler.exe

UNIX系统中运行客户端程序,执行shell脚本:

    jprofiler5.1.4\bin\jprofiler

需要安装License之后才能使用,请使用合法License

 

2.分析独立Java应用

启动Start Center

 

点击<New Session>,进入Session设置界面:

l  输入Session的名称;

l  Session Type选择Local

l  选择本机安装的JVM

l  设置工作目录,工作目录是分析过程中存放数据的位置;

l  如果需要的话设置JVM的启动参数;

l  设置Java应用的main类;

l  设置Java应用的启动参数;

l  然后在下面的Java File Path输入框中添加Java应用运行要用到的所有classpathJAR包。

Start Center中用<Start>按钮启动配置好的Java应用:

 

3.分析JBoss中的应用

在分析客户机打开Start Center

点击<New Server Integration>进入应用服务器的配置界面:

选择合适版本的JBoss,点击<Next>进入下一步:

对于J2EE服务器分析,建议采用远程模式,并选择服务器的操作系统类型,点击<Next>进入下一步:

输入远程服务器的地址,然后点击<Next>进入下一步:

输入远程服务器上安装JProfiler的目录,然后点击<Next>进入下一步:

输入远程服务器上JBoss的启动批处理程序目录位置及文件名,可以先将该批处理文件拷贝到分析客户机,然后选择该批处理程序,向导程序会修改该批处理程序,添加加载JProfiler服务端程序的命令参数,然后创建新的批处理程序,原来的批处理程序保留不变。然后点击<Next>进入下一步:

选择服务器端JVM的提供商,JVM版本和JVM的运行模式,如果是64JVM,还要勾选该选项,然后点击<Next>进入下一步:

设定远程JProfile分析服务的端口号,缺省端口号是8849,然后点击<Next>进入下一步:

选择服务器端JProfiler的启动模式,一般选择等待JProfiler GUI连接的方式。由于JVM首先加载JProfiler的服务端代理程序,JProfiler分析服务会停止JVM继续启动,等待JProfiler GUI连接,连接成功后服务器的JVM才会继续启动,分析配置信息会从客户端传递给服务端,例如。

如果选择不等待的模式,那么服务端的配置会复杂些,要将分析客户端JProfiler产生的config.xml拷贝到服务器端,然后在服务器启动时候自动加载该配置文件,分析客户端和服务器连接的时候,不再将分析配置信息传递给服务端,客户端分析工具的配置id要和服务端的配置id一致,例如:-agentlib:jprofilerti=port=8849,nowait,id=106,config= D:\jTools\jprofiler5.1.4\config.xml

然后点击<Next>进入下一步,进入配置总览界面:

然后点击<Next>进入下一步,进入最后一步生成session,以及修改过的服务器启动脚本run_jprofiler.bat

run_jprofiler.bat中可以发现类似于以下的修改内容:

rem The following lines have been added by the

rem application server integration wizard of JProfiler

set PATH=D:\jTools\jprofiler5.1.4\bin\windows;%PATH%

set JAVA_OPTS=-agentlib:jprofilerti=port=8849  “-Xbootclasspath/a:D:\jTools\jprofiler5.1.4\bin\agent.jar” %JAVA_OPTS%

rem end of modifications

 

Start Center中添加了一个Session配置条目:

如果是Windows环境,那么这些配置存放在登录用户的目录中,类似于:C:\Documents and Settings\UserName\.jprofiler5\config.xml

 

4.分析WebSphere中的应用

配置WebSphere和配置JBoss类似,关注以下步骤,修改服务器配置:

 

上图是选择WebSphere服务器的配置文件,一般操作是先把远程服务器上的配置文件server.xml拷贝到分析客户端的机器上,该文件的位置在E:\IBM\WebSphere61\AppServer\profiles\AppSrv01\config\cells\machine1Node01Cell\nodes\machine1Node01\servers\server1\server.xml

修改服务启动脚本,将服务器启动脚本也拷贝到本地进行修改:

 

把修改后的server.xml和启动服务脚本拷贝回服务器上。

server.xml的修改主要是添加了类似于下面红色标出的内容:

  <processDefinitions xmi:type=”processexec:JavaProcessDef” xmi:id=”JavaProcessDef_1120677326792″ workingDirectory=”${USER_INSTALL_ROOT}” startCommand=”” stopCommand=”” terminateCommand=”” processType=”Single”>

    <executableArguments />

    <execution xmi:id=”ProcessExecution_1120677326792″ processPriority=”20″ runAsUser=”” runAsGroup=”” />

    <ioRedirect xmi:id=”OutputRedirect_1120677326792″ stdoutFilename=”${LOG_ROOT}/${SERVER}/native_stdout.log” stderrFilename=”${LOG_ROOT}/${SERVER}/native_stderr.log” />

    <jvmEntries xmi:id=”JavaVirtualMachine_1120677326792″ verboseModeClass=”false” verboseModeGarbageCollection=”false” verboseModeJNI=”false” runHProf=”false” hprofArguments=”” debugMode=”false”

       debugArgs=”-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777″

       genericJvmArguments=”-agentlib:jprofilerti=port=8849  -Xbootclasspath/a:G:\jprofiler\bin\agent.jar”>

      <classpath />

      <bootClasspath />

    </jvmEntries>

  </processDefinitions>

startServer_jprofiler.sh中增加类似于以下的内容:

LIBPATH=”/oracle/jprofiler/bin/aix-ppc64:$LIBPATH”

export LIBPATH

 

5. 基本分析

5.1 内存分析

查看JVM中内存对象的数量及占用空间:

5.2

 

5.2 代码执行时间分析

查看方法调用花费的时间及调用次数:

发表回复