一.找到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. Fiddler的一些坑: !SecureClientPipeDirect failed: System.IO.IOException
  2. FreeRadius服务器安装以及error while loading shared libraries问题
  3. free store VS heap(自由存储区VS堆)
  4. Python是编译运行的
  5. 分享:PHP获取MAC地址的实现代码
  6. Javascript 中childNodes和children的区别
  7. C#中的ref和out的区别
  8. poj 2406 Power Strings (kmp 中 next 数组的应用||后缀数组)
  9. git使用介绍
  10. dispatch_async 与 dispatch_get_global_queue 的使用方法
  11. 推荐!手把手教你使用Git(转载)
  12. 笔记︱金融风险控制基础常识——巴塞尔协议+信用评分卡Fico信用分
  13. Java进阶(三十) 判断字符串编码类型
  14. javascript对象序列化(对象与JSON字符串的互换)
  15. Eclipse导入已有的项目后项目报错的解决办法
  16. ssh命令详解
  17. 【读书笔记】iOS-个人开发者与企业开发者的区别
  18. python模块——re模块(简单的计算器功能实现_eval版)
  19. PL/SQL Developer安装教程以及汉化包安装教程
  20. #Fixed# easy-animation | Animation for Sass

热门文章

  1. 设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)
  2. 推公式 HDU 2552
  3. Javascript之运动框架2
  4. 思科产品选型pdf
  5. vc编译器 msvcr.dll、msvcp.dll的含义和相关错误的处理
  6. delphi 对TThread扩充TSimpleThread
  7. bzoj3527: [Zjoi2014]力 fft
  8. Dapper使用技巧分享
  9. 通俗易懂--SVM算法讲解(算法+案例)
  10. python 垃圾回收
  11. 2017Nowcoder Girl D - 打车
  12. vlan划分
  13. windows注册表解析说明
  14. ReactNative学习笔记(二)基础进阶
  15. Keystone-all 命令
  16. TFS 2017 培训 - 北京某银行科技部Java研发团队
  17. nancyfx的安装笔记
  18. iTunes历史各个版本下载地址
  19. netstat -tulpn
  20. java.lang.NumberFormatException: For input string: "1" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang