在实际使用过程中,Java程序大多都运行在linux服务器上,而平时开发或测试的机器则是Windows。鉴于这种情形,关于Jprofiler的安装与使用就以此平台为例,在Windows上运行Jprofiler6,监测linux服务器上Java程序在JVM中的运行情况。
下载安装包
地址:http://www.ej-technologies.com/download/jprofiler/files
通过上面的URL,可以下载到需要的安装包。有一点需要注意的是,下载时请保证下载的包是同一个版本,以便避免不必要的麻烦。官方提供了几种格式的下载包,你可以根据自己的喜好选择。我们下载的是jprofiler6.2.4的rpm和zip包,之所选择这个是因为他们安装起来够简单方便。
文件:jprofiler_linux_6_2_4.rpm、jprofiler_windows_6_2_4.zip
一、安装与配置
1、linux安装
# cd /usr/local/src
# rpm -ivh jprofiler6.rpm
执行完之后,程序将安装到/opt目录下,完整路径为/opt/jprofiler6。
2、windows安装
解压缩jprofiler_windows_6_2_4.zip文件,将目录移至你需要放置的地方。例如为F:\jprofiler6,双击F:\jprofiler6\bin下的jprofiler.exe文件,即可启动jprofiler了。
由于jprofiler为商业软件,需要licenses的,所以请用万能的google之神吧,找到合适key输入之后,安装便结束。
注:看完以上两个安装后,你可能会纳闷,怎么linux中不需要key吗。我想应该是要的,只是在我们这个使用组合中,没有用到linux的jprofiler图形分析gui模块,也就是你Windows中双击看到的界面。
二、使用实例
a、监测application程序
Windows:
1、双击jprofiler.exe,启动jprofiler程序。
2、菜单依次选择Session->Integration Wizard->New Server Integration。
3、选择列表框中的"Generic application"选项。
4、选择On a remote computer单选项,并选择好你需要监测JVM所属的平台(这里为:Linux X86/AMD64)。
5、选择JVM的厂商、版本、方式。JVM Vendor: Sun; Version:1.6.0; Mode:hotspot。另外,如果你linux服务器为64的话,请勾选“64 bit JVM”选项。
6、选择“Wait for a connection from the JProfiler GUI”。
7、输入Remote address,即linux服务器的IP地址(192.168.2.100)。
8、输入linux服务器上jprofiler的安装位置,即:/opt/jprofiler6。
9、输入jprofiler的端口号,默认为8849,不做修改。如果选择修改,在linux服务器执行程序的命令行中,请确保端口号的一致。
10、完成上面这些步骤后,你会看一个提示信息,其中有加黑的一行“-agentpath:/opt/jprofiler6/bin/linux-x64/libjprofilerti.so=port=8849”。这个是根据以上步骤生成的,需要附加在启动java程序的命令行中的。
11、接下来就是最后一步了,选择“No, I will start the session latter”,等linux开启了jprofiler之后再连接。
Linux:
程序名AlabDaemon.jar,位于/opt/alab目录。
# cd /opt/alab
原始命令行
# nohup java -Xms1g -Xmx1g -Xmn255m -jar AlabDaemon.jar &
开启jprofiler的命令行
# nohup java -agentpath:/opt/jprofiler6/bin/linux-x64/libjprofilerti.so=port=8849 -Xms1g -Xmx1g -Xmn255m -jar AlabDaemon.jar &
如果没有错误的话,在/opt/alab/nohup.out输出文件中,应该能看到下面的信息:JProfiler> Disconnected. Waiting for reconnection. JProfiler> Listening on port: 8849.
至此,Windows和Linux的监控就都配置好了,在jprofiler的Windows图形界面中,点击“Start Center”,选择刚才设置好的Session,点击“start”按钮,就可以开始监控JVM的使用情况了。
b、监测Web服务器(tomcat)
Windows:
1、双击jprofiler.exe,启动jprofiler程序。
2、菜单依次选择Session->Integration Wizard->New Server Integration。
3、选择列表框中的"Apache Tomcat 6.x"选项。
4、选择On a remote computer单选项,并选择好你需要监测JVM所属的平台(这里为:Linux X86/AMD64)。
5、选择JVM的厂商、版本、方式。JVM Vendor: Sun; Version:1.6.0; Mode:hotspot。另外,如果你linux服务器为64的话,请勾选“64 bit JVM”选项。
6、选择“Wait for a connection from the JProfiler GUI”。
7、输入Remote address,即linux服务器的IP地址(192.168.2.100)。
8、输入linux服务器上jprofiler的安装位置,即:/opt/jprofiler6。
9、选择tomcat启动文件,由于监控的是远程服务器,你可以把服务器上的tomcat启动文件拖到本地再选择,免得做远程映射。例如为D:\startup.sh,在所有步骤都完成后,会在同目录生成一个startup_jprofiler.sh的文件,从名字就可以看出它是什么用途了,下面会用到。
10、输入jprofiler的端口号,默认为8849,不做修改。如果选择修改,在linux服务器执行程序的命令行中,请确保端口号的一致。
11、完成上面这些步骤后,你会看一个提示信息,意思是将生成的startup_jprofiler.sh文件,上传到linux服务器tomcat的bin目录下,用于需要开始jprofiler是启动tomcat之用。
12、接下来就是最后一步了,选择“No, I will start the session latter”,等linux开启了jprofiler之后再连接。
Linux:
将生成的startup_jprofiler.sh文件,上传到linux服务器tomcat的bin目录下。
# cd /usr/local/tomcat6/bin
# chmod a+x startup_jprofiler.sh
# ./startup_jprofiler.sh
如果没有错误的话,控制台应该能看到下面的信息:JProfiler> Disconnected. Waiting for reconnection. JProfiler> Listening on port: 8849.