jvm应用程序性能监测工具使用

前言

       在实际生产中,我们需要对Java程序进行性能分析,比如Tomcat、jvm等,在这里简单介绍一下。

Jconsole使用

对于Windows系统来说,只需要安装jdk即可使用该工具。

1、 启动:点击C:\Program Files\Java\jdk1.7.0_80\bin\jconsole.exe即可启动,如图:

2、 如只监测本机,在本地进程中选择你要监测的程序即可,包括内存、线程、类、对内存等相关监测,如图

3、 也可进行远程连接,需要输入远程IP,以及监控程序端口号即可

Visualvm使用

Visualvm使用还是比较方便的,他可以监控多个主机、多个端口程序。

1、 安装:http://visualvm.github.io/ 下载即可

2、 启动:将压缩包解压,打开bin目录下visualvm.exe即可,如图:

3、 监测本地程序:无需任何操作,只需启动visualvm,即可查看本地正在运行程序状态,而且监测比较全面,包括cpu、堆、内存、线程、GC等:

4、 远程监测:

1) 首先远程服务器必须先安装jdk

2) 启动,这里介绍两种启动方式:

1>  Jdk下启动:

1、 {JAVA_HOME}/bin下新建文件jstatd.all.policy

内容为:

grant codebase"file:${java.home}/../lib/tools.jar" { 

permission java.security.AllPermission;  

};

2、 启动,特别注意,需要使用以一个可用端口,hostname为本机IP./jstatd-J-Djava.security.policy=jstatd.all.policy -p 1099-J-Djava.rmi.server.hostname=192.168.174.88

3、 远程连接:输入远程IP即可


2>  Tomcat启动

1、 catalina.sh添加启动项:

CATALINA_OPTS="$CATALINA_OPTS-Dcom.sun.management.jmxremote-Djava.rmi.server.hostname=192.168.174.88-Dcom.sun.management.jmxremote.port=8888-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false"

2、 /jdk1.8.0_131/jre/lib/management/

jmxremote.password.template复制一份重命为jmxremote.password,将

#monitorRole QED

#controlRole  R&D  

前面的#号去掉

3、 删除所有用户对jmxremote.password文件的访问权限:chmod 600 *

4、 远程连接:此处需要先启动tomcat,然后通过tomcat端口进行连接:

首先输入IP

右键添加监控

输入Tomcat端口号:

输入jmxremote.password中的用户名和密码即可监控tomcat以及主机性能:

总结

两种方法都可以对系统性能以及相关应用进行监测,现在分析一下两者优缺点:

Jconsole

优点:

1、 无需安装任何软件

2、 jdk自带,启动方便

缺点:

1、  监测多个应用需要重新开

2、  远程时比较麻烦

Visualvm(推荐使用)

优点:

1、  监控比较方便,可以同时监控多个程序

2、  可以安装插件,多角度多维度分析

3、  远程相对来说比较方便

猜你喜欢

转载自blog.csdn.net/guozhangjie1992/article/details/80817995