利用JProfile检测Linux上Tomcat的内存泄露

阅读更多

公司一系统开发完成上线后,经常出现系统宕机现象。开发环境MyEclipse,框架使用SSH,数据库使用Sybase,WEB服务器Tomcat,操作系统Centos。这里使用的是JProfiler6.2,注意Linux和Windows的版本 要一致。

出现这个情况后第一反应是可以使用JProfile查看应用的内存使用状况,首先使用了Jdk自带的JConsole,然后看到系统有明显的内存泄露现象,然后开始尝试使用JProfile,当时想的是利用Window下的JProfile监控Linux上的应用,首先在Linux上安装Linux版本的JProfile,安装成功后在Tomcat的启动脚本上添加-agentpath:/opt/jprofiler/bin/linux-x86/libjprofilerti.so=port=8849。

接下来就是客户端的建立,


利用JProfile检测Linux上Tomcat的内存泄露_第1张图片
 这里选择New Remote Integration,


利用JProfile检测Linux上Tomcat的内存泄露_第2张图片
 这里选择使用远程模式,选择好使用的平台。


利用JProfile检测Linux上Tomcat的内存泄露_第3张图片
 选择使用的java版本


利用JProfile检测Linux上Tomcat的内存泄露_第4张图片
 选择等待连接


利用JProfile检测Linux上Tomcat的内存泄露_第5张图片
 输入要监控的应用所在服务器的IP地址


利用JProfile检测Linux上Tomcat的内存泄露_第6张图片
 填写web应用所在服务器,jprofiler的安装位置


利用JProfile检测Linux上Tomcat的内存泄露_第7张图片
 这里保持默认的监控端口8849,当然可以根据自己的需要进行设置,如果这里修改,tomcat启动参数中也要进行相应的修改。

 

到这里客户端的设置也就完成了,然后next。


利用JProfile检测Linux上Tomcat的内存泄露_第8张图片
 再点击finish之前,重启服务器上的tomcat,这个时候再点击finish,就可以远程监控到服务器上的tomcat了。

 

接下来 就是通过监控数据分析服务器上存在系统漏洞了。这里就不多说了。

 

JProfiler监控并修复bug获取到的数据比JConsole要详细的多,但是相应的对服务器的影响就会比较大,会导致应用的速度急剧下降。测试完成后,建议将tomcat启动脚本中添加的参数去掉。

  • 利用JProfile检测Linux上Tomcat的内存泄露_第9张图片
  • 大小: 61.8 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第10张图片
  • 大小: 55.8 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第11张图片
  • 大小: 54.1 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第12张图片
  • 大小: 86.6 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第13张图片
  • 大小: 57.5 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第14张图片
  • 大小: 63.9 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第15张图片
  • 大小: 61.7 KB
  • 利用JProfile检测Linux上Tomcat的内存泄露_第16张图片
  • 大小: 70.8 KB
  • 查看图片附件

你可能感兴趣的:(Linux,Tomcat,应用服务器,CentOS,Sybase)