• 性能测试之JProfiler9.2


    一,下载Jprofiler安装包,解压

      jprofiler_linux_9_2.sh

      jprofiler_windows-x64_9_2.exe

    二,安装jprofile服务端

      1,把jprofiler_linux_9_2.sh 上传到服务器/usr/local/jprofiler路径下

      2,赋权限chmod 777 jprofiler_linux_9_2.sh再执行 sh jprofiler_linux_9_2.sh(根据提示一路回车)

      3,默认安装在/opt/jprofiler7目录下

    三,先安装windowns客户端

      安装完后破解:

      

      接着下一步就安装完成了,打开出现这页面

      

     四,linux和windowns都安装完成以后,就可以配置tomcat了

      1,在tomcat的的bin目录下有个catalina.sh文件,打开添加如下配置

      JAVA_OPTS="-Xms128m -Xmx512m -Xss256k -XX:PermSize=64m -XX:MaxPermSize=256m -agentpath:/opt/jprofiler9/bin/linux-x64/libjprofilerti.so=port=8849 -Xbootclasspath/a:/opt/jprofiler9/bin/agent.jar -d64"

      2,重启启动tomcat

      

      3,开始建立连接:第一步

      

      第二步:

      

     第三步:

      

      第四步:

      

      第五步:

      

       第六步:

      

      第七步:

      

       第八步:

      

       第九步:

      

      第十步:

      

       第十一步:

      

       连接成功,后台程序就继续启动了

      

      

     五,我们来对一个有内存溢出的程序进行监控

      我们这里主要看Live memory和CPU views

      我们首先来看Live memory

      

       在这里我们看到的是当前tomcat的对象使用情况,图中颜色的线条表示当前对象被引用的次数和大小

      "Mark Current"---来将当前内存使用情况作为参照;点击后会显示“Difference”列,该列会列出对象数量的变化和变化比率

      

       接着我们操作应用程序看一下内存的增长情况

      

         我们可以看到该对象内存增长的幅度,达到了31%

        接着我们可以执行一下GC,看内存是否被释放一部分出来

        

         我们发现该对象占用的内存并未释放,可以确定有内存溢出,那么接下来我们具体定位一下

        我们选中这一条数据进行如下操作:右键选中第一条或者点击上面的show in heap walker都可以

        

         出现下图,我们来进行如此操作:

        

         

        会出现该对象的类,我们通过点击+号就可以追踪到引用该类对象的程序和文件,如图:

         

          上图中出现黄色的表示该引用消耗了内存,直接定位到index_jsp文件,说明该文件内部程序引起了内存溢出问题  

  • 相关阅读:
    Unity3D移动端海水的实时绘制
    NGUI 3.x 深度管理及渲染优化
    【入门】从学生到成熟:游戏模块设计起步之抽象思维 (转)
    正弦波近似 http://blog.csdn.net/ring0hx/article/details/44492415
    Stack 栈 ----Queue 队列
    ORM
    CBV&FBV
    Django路由系统
    CRM
    深浅拷贝
  • 原文地址:https://www.cnblogs.com/hally/p/12814087.html
Copyright © 2020-2023  润新知