JConsole监控jvm

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JConsole监控jvm相关的知识,希望对你有一定的参考价值。

java程序jvm监控一直是个蛋疼的问题,无意中网上看到JDK自带JConsole 可以监控JVM并且支持可视化图形,就自己测试了一下。

在网上看到VisualVM也支持监控JVM,查了下发现这个是JConsole的升级版还能监控和分析垃圾回收和线程。


首先JConsole这个是JDK里面自带的工具  在JAVA_HOME/bin目录下,今天主要测试远程监控JVM 


1.设置好需要远程机器的Tomcat (这里我的机器是centos)

    修改catalina.sh

在 ----- Execute The Requested Command --这一行上面设置

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=*****"


修改完后重启tomcat    netstat -an| grep 12345  查看配置的端口号是否启动

启动成功后就可以远程连接了


错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: centos4: centos4: 未知的名称或服务

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: centos4: centos4: Name or service not known

原因是/etc/hosts文件里没有主机名为:linux,解决方法就是在hosts文件中加入linux,修改后的hosts的文件是:


127.0.0.1  linux localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6



2.启动JConsole

Jconsole能捕获到以下信息:

概述 

- JVM概述和一些监控变量的信息内存 

- 内存的使用信息线程 

- 线程的使用信息类 

- 加载java类的信息VM 

- JVM摘要MBeans 

- 所有MBeans的信息

技术分享


其他的就根据需要监测即可

本文出自 “linux---基础篇” 博客,请务必保留此出处http://perin.blog.51cto.com/10410663/1758802

以上是关于JConsole监控jvm的主要内容,如果未能解决你的问题,请参考以下文章

JMV监控工具之JConsole

深入理解Java虚拟机——可视化监控工具(Jconsole)线程死锁监控示例

JVM 监控工具——jconsole

深入理解Java虚拟机——可视化监控工具(Jconsole)线程死锁监控示例

如何使用 Jconsole 监控 Java 程序?

jconsole,jvisualvm监控jvm配置方法