一.找到java应用程序对应的进程PI

性能测试应用程序访问地址:http://192.168.29.218:7070/training/

部署的应用服务器为tomcat6.028

  1. 启动tomcat服务器后,任务管理器里可以看到多了java.exe进程,如图

PS:这里启动了多个其他程序

2.查询测试应用程序对应的进程PID号(根据端口号查找)

1)  Cmd命令:netstat  -aon|findstr  "7070"

二.启动JConsole监控工具

方法一:

打开cmd命令窗口,进入jdk安装路径下/bin目录,

输入命令:JConsole “PID号” 如图:

如图自动启动并打开JConsole监控界面:

方法二:进入jdk安装目录bin目录下,双击运行JConsole.exe程序,选择应用程序对应的PID程序连接或双击即可

三.对图表进行性能分析

JConsole主要是监控java应用程序,它是jdk自带的工具,一个基于JMX用于连接正在运行的JVM,会启动com.sun.management.jmxremote实现默认地JMX管理客户端。

1)  概要

概要界面可以实时查看java应用程序的堆内存使用情况、线程、类以及CPU使用情况,如图:

2)  内存

内存界面可以在图表选择“堆内存使用情况”和“非堆内存使用情况”实时图,并显示内存详细信息:使用内存、分配:最大值等,如图:

PS:重点关注使用内存的占比,使用内存与最大值之间的合理比值为1:3,已使用内存不能大于1/2最大值,否则内存存在瓶颈。

3)  线程

线程图不是重点关注,只关注该线程情况,并可以检测是否有死锁线程。

4)  类

类图并不是重点关注图,与应用程序类的多少有关,无固定值。

1)  VM摘要

VM摘要图是观察JVM使用情况图

堆是由Java虚拟机(JVM,下文提到的JVM特指Sun hotspot JVM)用来存放Java类、对象和静态成员的内存空间,Java程序中创建的所有对象都在堆中分配空间,堆只用来存储对象,应用程序通过存放在堆栈(Stack)内的引用来访问堆数据,一个JVM进程只能拥有一个堆。JVM通过-Xms和-Xmx参数分别设置堆的初始值和最大值。

此图需要关注分析当前堆大小、堆大小的最大值、分配的内存,以及物理总内存和可用物理内存。

最新文章

  1. bzoj 刷水
  2. IRP完成例程返回值理解
  3. html页面元素事件丢失
  4. 获取session、request、parmeter的方法
  5. 【poj1017】 Packets
  6. php判断 !==false
  7. replication_slot and PostgreSQL Replication
  8. QQ聊天即时代码
  9. Android 消息广播Intent传递数据
  10. 一天一个Java基础——泛型
  11. jquery全局加载函数的几种方式;
  12. 网站集A的子网站B上没有解决方案C发布的webpart
  13. 额定能量不得超过160Wh, 等同是多少mAh电池容量?
  14. 在Blade中结合gperftools检查内存泄露
  15. COB對PCB設計的要求
  16. 【素数】 poj 2739 一个数能有多少种连续素数相加方案
  17. 动态规划1-----------poj1080
  18. linux学习(十)find命令、Linux文件后缀名、Linux和windows文件互传
  19. python zlib ,zlib 压缩流
  20. 牛客 Wannafly 挑战赛26D 禁书目录 排列组合 概率期望

热门文章

  1. Gradle的简介、安装与配置
  2. jquery获取checkbox被选中的值
  3. Fragment的生命周期&同一Activity下不同Fragment之间的通信
  4. Android-为何以及如何保存Fragment实例
  5. arcgis server "System.Web.Services.Protocols.SoapException: Error processing server request".
  6. Java system.getproperty获取环境属性
  7. Sed命令学习
  8. angular ng-bind-html 对src路径失效 解决方案
  9. ubuntu -server 忘记root 密码方法
  10. js 简单倒计时插件和使用方法