JProfiler入门教程-1.1(新版)(2)

流年开花 分享 2022-05-06 下载文档


2. 非等待模式 Start Immeditely,此模式下, 容器(Weblogic/Tomcat)独立启动,Jprofiler 随时

可以连接;
3. 离线模式 Profile offline, Jprofiler GUI cannot connect 此模式为离线模式,生成相关记录文件事后分析; 14
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
四、JVM 工具接口(JVM TI)介绍 Java 虚拟机工具接口(Java Virtual Machine Tool Interface,JVMTI)提供了一种编程接口(通过 JNI),允许软件开 发人员创建软件代理程序,用于监视和控制 Java 应用程序。JVMTI 是 JDK 1.5 中的一种新增功能。它取代了 Java Virtual Machine Profiling Interface (JVMPI)(从 JDK 1.1 起作为一种实验功能)。JVMTI 是 JVMPI 的改进的产物,JVMPI 在不久的将来将被废止。 使用 JVMTI 创建的性能分析工具,称作代理(Agent)
五、服务端 JProfiler 代理工具(Agent)加载原理 理解加载原理,对于以后的配置很的帮助。 JProfiler 的服务端分析代理工具,必须在 JVM 启动的阶段通过 JVM 参数来加载 JDK 1.4 以前使用 JVMPI,JDK 1.5 以后使用 JVMTI 参数如下: Java <=1.4.2(JVMPI) -Xrunjprofiler Java >=1.5.0(JVMTI) -agentlib:jprofilerti "-Xrun" 或 "-agentlib:" 他们告诉 JVM, 加载 JVMPI/JVMTI 分析代理工具,后面的字符串取决于你使用的 JProfiler 库文件的文件名: windows: jprofilerti.dll Linux/unix: libjprofilerti.so 通过加 (冒号-JVMPI),(等号-JVMTI),参数可以传递给分析代理,例如: -Xrunjprofiler:port=10000 或 -agentlib:jprofilerti=port=10000, 参数 port=10000 将被传递给分析代理。 如果 JVM 不能加载指定的本地库,将退出,并报告错误消息。 Window 环境 JVM 启动参数示例: (目录是 JProfiler 的安装目录) -agentpath:C:\PROGRA~1\JPROFI~1\bin\windows\jprofilerti.dll=port=8849 Linux 环境 JVM 启动参数示例: (目录是 JProfiler 的安装目录) -agentpath:/opt/jprofiler7/bin/linux-x86/libjprofilerti.so=port=8849 以上参数从哪里取得? 当你使用 JProfiler 配置一个监视项目时, 在最后一个窗口, 给依据你输入的各种环境条件件, 自动生成并给出参数。 可以参看:九、创建监视远程 Java 程序的工程 中和截图
六、创建监视本地 Tomcat 的工程(等待模式) 测试环境:客户端与服务端在一台机器上 :Windows 7,JProfiler 7.1.2 for windows(安装包: jprofiler_windows_7_1_2.exe) 监视本地的 Tomcat, 看似是本地,其实 JProfiler GUI 在一个单独的 JVM 里启动,他与被监视的目标 jvm 之间通 过 socket 通讯,目的为了不干扰目标 JVM。 所以监视本地 Tomcat 与监视远程的 Tomcat 的配置方法基本是一样的。你会了当前这个配置,再配置监视远程 的 Tomcat 时就很容易了。 等待模式与非等待模式也只有一点区别。等待模式生成的 jvm 启动参数是 -agentpath:/opt/jprofiler7/bin/linux-x86/libjprofilerti.so=port=8849,非等待模式生成的 jvm 启动参数是 -agentpath:/opt/jprofiler7/bin/linux-x86/libjprofil

erti.so=port=8849,nowait。只是最后面多了一个 nowait。你会了当前 这个配置,再配置非等待模式也是非常容易了。 15
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
基本思路: JProfiler 在 Tomcat 的 bin 目录下,新生成的 startup_jprofiler.bat 文件,其中添加了上面提到的参数,可以用来 启动 Tomcat。就可以接受 JProfiler 的连接,开始监视了。
6.1 进入创建菜单 主菜单:session->Srart Center 打开 Srart Center 菜单。 选择“New Sesion”选择卡, 选择“New Server Integration”按钮。
6.2 选择使用的服务器容器 在面板中显示出了所有支持可以监视的多种服务器类型,包括 Tomcat,WebPhere 等。 同时还看到 Generic application,是监视一般的 Java 程序的。因为 Tomcat 本身也是 Java 程序,所以选这个也好使。 这里我还是选用 Tomcat6.0, Jprofiler 会生成 Tomcat 的启动文件 (其中加入了相关的 Jvm 启动参数) 对 , “等待模式” 的支持更好一些。比手动加 Jvm 启动参数方便一些,但本质都是一样的。 (不建议使用 with tomcat6.exe )
16
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.3 选择 Tomcat 容器的位置 选择是 Tomcat 在本机,还是在远程主机上。 当你想配置监视远程的 Tomcat 时,就可以选择 On a remote computer。 这里我们选择:On a this computer,在本机上,下一步。
17
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.4 选择虚拟机类型 因为所有的监视 JVM 的信息都是由 JVM 所提供的接口(JVM TI)给出的,这里要注意选择正确 JVM,我这里使用 Oracle(sun) 的 1.6.0 hotspot,你的 JVM 是 32 位不用打勾,是 64 位就要打勾。 下一步。
18
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.5 确认启动监控的方式 选第一项:等待模式 wait for a connection from the Jprofiler GUI,此模式为,在启动容器(Weblogic/Tomcat)时,需要等 Jprofiler 连接后才 能启动; 下一步。
19
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.6 选择容器启动脚本 Tomat 容器的启动可以由 jprofiler 来控制(可以手动控制) ,jprofiler 要修改启动文件,加入 JVM TI 参数实现监 视目的。 选择好 Tomat 启动 脚 本后 jprofiler 会自 动 为我 们生 成 新的 启动 脚 本在 Tomcat 的 bin 目录 , 文件 名是 startup_jprofiler.bat,通过这个文件来启动 Tomcat。 这里我选择的是 tomcat 的 startup.bat 文件。下一步。
20
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.7 选择监控端口 只要不冲突就行,这里我就使用默认的。 JProfiler GUI 在一个单独的 JVM 里启动,他与被监视的目标 jvm 之间的通讯是通过 socket 实现的,为了不干扰目标 JVM。
21
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.8 最后确认信息 信息的内容说:创建了一个启动脚本,在相同的目

录里。可以用它的来启动。其中添加了 CATALINA_OPTS 参数,别 被你人为的覆盖了。
22
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
6.9 启动容器 这里选择立刻开始启动容器并进行监控,还是以后再启动。 立刻开始:启动窗口,并监视 JVM 以后再启动:在 Start Center->Open Session 中查找创建的 session 并启动。 手动启动:在 Tomcat 的 bin 目录下,新生成的 startup_jprofiler.bat 文件,可以用来启动 Tomcat,其中只是加入了 JVM TI 的参数。执行 startup_jprofiler.bat 来启动,如果 Jprofiler 不连接,就无法完成启动,用 Jprofiler 连接上,启动 完成。
最后一步: 点击完成后,又出现一个窗口,是运行监控时的几个选项,不用动,使用默认就行,点击 ok 就开始运行了。
23
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
七、创建监视远程 Tomcat 的工程(等待模式) 基本思路: 1、服务端(远端)操作系统也要安装 Jprofiler,因为服务端 Tomcat 启动时,JVM 加载 Jprofiler 的模块。 2、JProfiler 在本地 Tomcat 的 bin 目录下(客户端要有一个与服务端版本号相同的 Tomcat) ,新生成的 startup_jprofiler.sh 文件,其中添加了上面提到的 JVM 参数.。把这个文件 copy 到远端的 Tomcat 服务器上,可以用来 远端的启动 Tomcat。 3、 客户端也可以没有 Tomcat, 样 JProfiler 就不能生成 startup_jprofiler.sh 文件, 这 而只是在向导的最后一步给出 JVM 的启动参数,你可以手动把这个参数添加到远程 Tomcat 的的 startup.sh 或 catalina.sh 文件中,也可以达到目的。只 是有点麻烦。
7.1 测试环境 服务器:RedHat Linux ,Tomcat6,Sun JDK 1.6.0_29,JProfiler 7.1.2 for linux(安装包:jprofiler_linux_7_1_2.sh) 客户端:Windows 7,JProfiler 7.1.2 for windows(安装包:jprofiler_windows_7_1_2.exe)
7.2 JProfiler 软件下载地址 183c782f0722192e4536f631/ 183c782f0722192e4536f631/download/jprofiler/files (不需要注册就可以下载)
7.3 客户端 JProfiler 安装 在 Windows 上安装软件很容易。略。
7.4 服务器端 JProfiler 安装 把 jprofiler_linux_7_1_2.sh 上传到到服务器,假设路径为 /opt/jprofiler7 执行以下命令: # cd /opt/jprofiler7 # chmod +x *.sh # ./jprofiler_linux_7_1_2.sh -c 按照提示来安装,提示都很简单,不在多说。 注意,这里的 -c 意思是用字符方式来安装,如果机器上没有 图形界面 则加上该参数. 注意安装的路径的修改,看下图: 第一步: 输入 o 回车 第二步: 输入 2 回车,意思是自定义,可以在后面改就安装路径
安装路径选择 /opt/jprofiler7 24
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
基本一路 OK 啊、同意啊 什么的。没有要求输入序列号。
7.5 客户端连接配置 前提:客户端有一个与服务端版本号相同的 To

mcat。 1). 运行 JProfiler 。忽略快速启动菜单。 2). 选择 Session->Integration Wizard->New Server Integratation 3). 选择 Apache Tomcat 6.x (不建议选择 with tomcat6.exe) 4). 选择 On a remote computer;Platform of remote computer 选择 Linux x86/AMD 64; Next 5). 选择服务器的 JDK 环境,这里是:Oracle,1.6.0,hotspot,(注意是 32 位或 64 位) Next 6). 选择启动模式:这里选第一种 wait for a connection from the jprofiler GUI,等待模式 Next 7). 输入服务器 IP , Next 8). 输入服务器上的 jprofiler 的安装路径,如 /opt/jprofiler7 ,用于加载模块 。 Next 9). 选择客户端本地 tomcat 的启动脚本,例如:E:\tomcat-6.0.18\bin\startup.sh,做为修改的样本。 Next 10). 输入端口:这里是默认值 8849;Next 9). 这里会列出需要在服务器端做的配置:核心内容是说在 E:\tomcat-6.0.18\bin\目录生成了 startup_jprofiler.sh,把它 的 copy 到服务端 Tomcat 的相同目录中,用来启动 Tomcat。如下图:
25
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
八、创建监视远程 Tomcat 的工程(非等待模式) 请参照第七章做,在第 6 步时,选第二个选项。其它都一样。
九、创建监视远程 Java 程序的工程 如果远程的服务端不是一个容器(Tomcat),而是由 main 方法启动的 Java 程序。 请参照第七章做, 在第 2 步时,选择 Session->Integration Wizard->New Server Integratation 在第 3 步时,选择 一般应用程序
其它基本差不多。 最后一步,结果,如下图:
26
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
最后一步,生成 JVM 启动参数:-agentpath:/opt/jprofiler7/bin/linux-x86/libjprofilerti.so=port=8849 在启动服务端 Java 程序时要加入这个参数。
十.其它内容 10.0 局域内使用同一个 license key 问题 如果在局域内,有两 个 JProfiler 使用同一个 license key,后打开的 JProfiler 会导致先前打开的 JProfiler 弹出以下窗口 并退出。下图中可以看到 IP。
27
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
10.1 JProfiler 对程序性能的影响 开启动 JProfiler 监视,对应用程序的性能会有多大的影响?通过的对手上现在程序的对比发现 JProfiler 对被监视的 应用程序的性能影响很小。可以通过下面两张图片看出来 。 目标是一个网络通信程序,做两点间通信,分别列出未使用与使用 JProfiler 监视情况下运行结果。 未使用 JProfiler,程序原本的的性能结果
使用 JProfiler 后,程序的的性能结果
28
JProfiler 7.1.2 使用教程
赵磊 2012-08-07
29


JProfiler入门教程-1.1(新版)(2).doc 将本文的Word文档下载到电脑

下一篇:2011.9.25高三第一次月考

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx