您的位置:首页 > 编程语言 > Java开发

jvisualvm java性能监控

2016-12-22 13:09 218 查看
jvisualvm,在本地以图形界面的方式远程监控 java运行程序的cpu、内存、线程使用情况,当然可以本地监控,主要用于远程监控tomcat.

它是JDK自带的JAVA性能分析工具,在安装的JDK(需要jdk1.6以上的版本)的bin目录下,点击下jvisualvm.exe图标就能运行起来图形界面。

========================================================================================================================

远程监控配置:

要从本地远程监控应用(tomcat),首先对远程jvm加监控参数。

1、登录远程linux服务器,在tomcat目录下的catalina.sh文件中,搜索“JAVA_OPTS=”,在if里面,添加:

    -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.210.45

1-改port

2-改hostname为远程机器ip

然后保存catalina.sh文件

2、这个时候重启tomcat.

使用命令:nestat   -an|grep 8080,查看当前8080端口连接数,只有一个连接数,这个端口是jvisualvm要连接的端口,不能被别的程序占用。

然后给tomcat服务器加压,可以用jmeter给对应tomcat服务器的应用加压,top一下,可以发现CPU占有率立马飙升,这个时候压力就上来了。

3、打开jvisualvm

方式一:通过Windows本地cmd-输入jvisualvm

方式二:在安装的JDK(需要jdk1.6以上的版本)的bin目录下,点击下jvisualvm.exe图标

4、界面左侧有【本地】和【远程】监控

【本地】:程序运行后会自动监控本机运行的java程序,比如打开eclipse,是java程序就会显示在本地

【远程】:右键【远程】,填写主机名hostname,确定,然后右键hostname创建一个jmx连接,填写上端口号(8080)后,配置即完成。

这个时候右侧出现关于cpu、内存、线程使用情况,运行、休眠、阻塞状态都能看到,点击右上角的dump,可以看到具体的运行信息,代码报错都能定位到。

====================================================================================================================================

关于各种参数指标的图形展示会再详细解释补充。

另外,如果监控的不是tomcat,监控别的应用,比如我这里上传的应用名字是thread-test.jar,可以在Linux下使用命令:#java 
 -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.210.45 -jar thread-test.jar

将 -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.210.45这个参数添加进去。改一下hostname和端口号即可。

然后在Windows本地,jvisualvm端对应改一下端口号,就可以连上远程应用进行监控。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jvisualvm 线程 监控