先到 http://avaxhome.ws/software/YourKit.Java.Profiler.v9.0.3.For.Windows.Linux.html   下载 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,并运行。

cd /home/admin/  tar xfj yjp-9.0.3-linux.tar.bz2  cd yjp-9.0.3  #生成启动脚本  java -jar lib/yjp.jar -integrate  [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    <IMG class=wp-smiley alt=8) src="http://blog.chenlb.com/wp-includes/images/smilies/icon_cool.gif">    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 启动参数:

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

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

在本地机 windows 用界面观察。在欢迎界面中有个 “Connect to remote application ...” 链接。可以输入 host:post。这个port不是你应用的port而是10001-10010

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

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

 

yourkit profiler 界面