先到 YourKit.Java.Profiler.v9.0.3.For.Windows.Linux 下载 windows 和 linux 版。

把都解压到不同的目录如 D:\profile\YourKit.Java.Profiler.v9.0.3.Incl.Keygen.and 和
D:\profile\YourKit.Java.Profiler.v9.0.3.Linux.Incl.Keygen.and。

1、解压出 yjp-9.0.3.exe 安装。完了后,双击 D:\profile\YourKit.Java.Profiler.v9.0.3.Incl.Keygen.and\iNViSiBLE\keygen.bat 然后点“patch”,然后选择 D:\Program Files\YourKit Java Profiler 9.0.3\lib\yjp.jar

2、输入用户名,点“Gengerate”,复制出 key。

3、运行 yourkit profiler,输入刚才复制出的 key 就好了。

然后就可正常运行了。

剖析远程服务器还需要在 linux 的安装 yourkit profiler(以控制台行动不需要 License),把解压出来的 yjp-9.0.3-linux.tar.bz2 上传到服务器,如:/home/admin/yjp-9.0.3-linux.tar.bz2

1、在 linux 解压 yjp-9.0.3-linux.tar.bz2,并运行。

  1. cd
  2. tar  xfj yjp-9.0.3-linux. tar
  3. cd
  4. #生成启动脚本
  5. java -jar lib/yjp.jar -integrate  

cd /home/admin/ tar xfj yjp-9.0.3-linux.tar.bz2 cd yjp-9.0.3 #生成启动脚本 java -jar lib/yjp.jar -integrate


在生成启动脚本期间,要选择。如下:

1.  [admin@v022185 ~/yjp-9.0.3]$ java -jar lib/yjp.jar -integrate    
2.  Choose server to integrate with:   
3.  1) Geronimo   
4.  2) JBoss 2.x/3.x/4.x   
5.  3) Jetty HTTP Server 5.x   
6.  4) JRun 4   
7.  5) Orion Application Server 1.5.x/2.x   
8.  6) Resin 2.x/3.x   
9.  7) Sun Application Server / GlassFish   
10.   <img src="http://blog.chenlb.com/wp-includes/images/smilies/icon_cool.gif" alt="8)" class="wp-smiley"> Tomcat 3/4/5/6   
11.  9) WebLogic 9/10   
12.  10) WebSphere Application Server 7   
13.  11) Generic server (use if your server is not on the list)   
14.  Enter number which corresponds to your server (0 to exit) and press Enter:   
15.  >2   
16.  Please specify whether the server runs on a 32-bit JVM or a 64-bit JVM.   
17.  Hint: If you are not sure what to choose, choose "32-bit JVM". If with this choice the server does not start with profiling, re-run the integration and choose "64-bit Java" option.   
18.  1) 32-bit JVM   
19.  2) 64-bit JVM   
20.  >2   
21.  Location of JBoss startup script (<JBOSS_HOME>/bin/run.sh):   
22.  >/home/admin/yjp-9.0.3/jboss_run.sh   
23.     
24.  Startup options configuration: step 1 of 5   
25.  Should option 'disablestacktelemetry' be specified?   
26.  1) Yes (recommended to minimize profiling overhead in production)   
27.  2) No   
28.  >1   
29.  Startup options configuration: step 2 of 5   
30.  Should option 'disableexceptiontelemetry' be specified?   
31.  1) Yes (recommended to minimize profiling overhead in production)   
32.  2) No   
33.  >1   
34.  Startup options configuration: step 3 of 5   
35.  Should option 'builtinprobes=none' be specified?   
36.  1) Yes (recommended to minimize profiling overhead in production)   
37.  2) No   
38.  >1   
39.  Startup options configuration: step 4 of 5   
40.  Should option 'delay=10000' be specified?   
41.  1) Yes (recommended)   
42.  2) No   
43.  >1   
44.  Startup options configuration: step 5 of 5   
45.  Please specify comma-separated list of additional startup options, or press Enter for no additional options:   
46.  >   
47.  Startup script to be used for profiling has been successfully created:   
48.     
49.  /home/admin/yjp-9.0.3/jboss_run_with_yjp.sh


[admin@v022185 ~/yjp-9.0.3]$ java -jar lib/yjp.jar -integrate
Choose server to integrate with:
1) Geronimo
2) JBoss 2.x/3.x/4.x
3) Jetty HTTP Server 5.x
4) JRun 4
5) Orion Application Server 1.5.x/2.x
6) Resin 2.x/3.x
7) Sun Application Server / GlassFish
 
 Tomcat 3/4/5/6
9) WebLogic 9/10
10) WebSphere Application Server 7
11) Generic server (use if your server is not on the list)
Enter number which corresponds to your server (0 to exit) and press Enter:
>2
Please specify whether the server runs on a 32-bit JVM or a 64-bit JVM.
Hint: If you are not sure what to choose, choose "32-bit JVM". If with this choice the server does not start with profiling, re-run the integration and choose "64-bit Java" option.
1) 32-bit JVM
2) 64-bit JVM
>2
Location of JBoss startup script (<JBOSS_HOME>/bin/run.sh):
>/home/admin/yjp-9.0.3/jboss_run.sh

Startup options configuration: step 1 of 5
Should option 'disablestacktelemetry' be specified?
1) Yes (recommended to minimize profiling overhead in production)
2) No
>1
Startup options configuration: step 2 of 5
Should option 'disableexceptiontelemetry' be specified?
1) Yes (recommended to minimize profiling overhead in production)
2) No
>1
Startup options configuration: step 3 of 5
Should option 'builtinprobes=none' be specified?
1) Yes (recommended to minimize profiling overhead in production)
2) No
>1
Startup options configuration: step 4 of 5
Should option 'delay=10000' be specified?
1) Yes (recommended)
2) No
>1
Startup options configuration: step 5 of 5
Please specify comma-separated list of additional startup options, or press Enter for no additional options:
>
Startup script to be used for profiling has been successfully created:

/home/admin/yjp-9.0.3/jboss_run_with_yjp.sh


其实就在 jboss_run_with_yjp.sh 加个 jvm 启动参数:

    1.  -agentpath:/home/admin/yjp-9.0.3/bin/linux-x86-64/libyjpagent.so=disablestacktelemetry,disableexceptiontelemetry,builtinprobes=none,delay=10000,sessionname=JBoss    
     
    -agentpath:/home/admin/yjp-9.0.3/bin/linux-x86-64/libyjpagent.so=disablestacktelemetry,disableexceptiontelemetry,builtinprobes=none,delay=10000,sessionname=JBoss


    可以参数自己的环境手动写,sessionname 是随便写吧(没验证过)。

    用带 yjp 参数启动 jboss。就可以剖析远程服务器。

    在本地机 windows 用界面观察。在欢迎界面中有个 “Connect to remote application ...” 链接。可以输入 host:post。

    注意 yourkit 的是在 10001 - 10010 中按顺序来决定哪个端口使用(有点不理解为什么不在启动 jvm 参数中指定)。

    比如:192.168.1.100:10001。然后就可以看到界面了:


    yourkit profiler 界面