前篇 - 小伙们都知道,java程序的性能监控主要是针对jvm中heap的监控~

那么在做压力测试时如何对heap、线程等一系列的指标进行的监控的呢?

首先-你若不懂命令,那么就需要了解一套Java程序性能监控工具!!!

我们都知道java运行环境

 

 

 

 

 

 

通过对JVM的监控来监测Java程序性能 主要监控Heap

heap组成

 

下面我们先简单介绍下通过敲击命令如何进行jvm的监控

jsp列出机器上的Java进程信息

 

 

 

jmap--Dump下来的文件可以用JVisualVM打开,也可以用jhat打开

 

 

 也可以通过jhat查看

 

Jstack命令——dump heap info  

线程死锁信息示例

好了,命令介绍到此为止!!!

简单介绍下工具,主要是jconsole和jvisualVm(均是jdk自带的)

Jconsole: 

 

 jvisualVm

Summary View

 Monitor View

 

 

Thread View

 

heap info

 

JProfiler 商业工具 改天讲解

现在说明下如何远程使用jconsole和JVisualVM前提条件

 需要配置tomcat的catalina.sh中给JAVA_OPTS

如果应用程序采用的是Tomcat可以通过jdk自带的jvisualvm对JVM进行监控。

首先需要在catalina.sh中给JAVA_OPTS增加下面的参数:

-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9991

-Djava.rmi.server.hostname=172.16.82.32 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

然后打开jvisualvm:

添加远程主机:

 

 IP是你在配置java_opts时

-Djava.rmi.server.hostname指定的IP

添加JMX连接: 端口为-Dcom.sun.management.jmxremote.port 

 

posted on 2017-03-09 16:05  niuzhigang  阅读(1492)  评论(0编辑  收藏  举报