JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18:9043/ibm/console/,找到自己的应用程序服务器---java和进程管理---进程定义--JAVA虚拟机,然后配置 通用JVM 参数 :
加入以下jvm参数:-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote
注意:等号后面一定要保留空格,否则会报错。
2、修改/usr/IBM/WebSphere/AppServer/java/jre/lib/management下的management.properties文件,在最后加入
com.sun.management.jmxremote.port=8999
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
注意:先执行netstat -ano | grep 8999,查看这个端口是否被使用。另外注意防火墙对8999端口的配置,要放开,否则远程机器可能连接不上.
3、设置jconsole远程登录的用户名和密码
在/usr/IBM/WebSphere/AppServer/java/jre/lib/management下有个jmxremote.password.template文件,在最后面加入你要设置的用户名和密码
root root@123 (用户名、密码,可以随意修改)
4、在was控制台上停掉自己的应用程序服务器,然后重启。
WINDOWS客户端的设置
1、进入JAVA所在的BIN目录
2、输入IP、端口号、用户名和密码进行远程连接
3、监控界面可以看到内存、类、线程、CPU的使用情况。
使用这个工具再配合JCA工具就能很方便的分析内存溢出问题。
Java VisualVM也是JDK的一个集成的分析工具,自从JDK 6 Update 7以后已经作为Sun的JDK的一部分。VisualVM可以监控应用程序的性能和内存占用情况、监控应用程序的线程、进行线程转储(Thread Dump)或堆转储(Heap Dump)、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,保存快照以便脱机分析应用程序;同时它还支持在MBeans上进行浏览和操作。 VisualVM自身要在JDK6以上的运行,但是JDK1.4以上版本的程序也能被它监控。
启动方法:进入JAVA_HOME所在的bin目录,运行jvisualvm.exe就可以启动VisualVM
远程连接WAS服务器的话,需要添加JMX连接方式就可以了
内存溢出的原因有很多种,比如:
1、数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;
2、虚拟机不回收内存(内存泄漏);
说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存溢出不常见,但某些系统还是很常见。
内存溢出的一般解决方法:
一个是优化程序代码,如果业务庞大,逻辑复杂,尽量减少全局变量的引用,让程序使用完变量的时候释放该引用,能够让垃圾回收器回收和释放资源。
二就是物理解决,增大物理内存,然后通过-Xms256m -Xmx2048m 的修改来增大内存空间。
相关推荐
如果初次接触JConsole,应该会很有用的!
局限:JConsole只能监视本地JVM,无法监视远程JVM。 JVisualVM 作用:JVisualVM是一个多合一的Java应用程序监视和管理工具,可以通过它监视和管理本地和远程JVM。 优势:JVisualVM可以监视和管理本地和远程JVM,...
jvm检测工具,jconsole工具介绍,其他同类工具介绍
性能监控JConsole远程监控Tomcat服务
3:JVM内存调优:JVM参数【标准参数、-X参数、-XX参数等】+常用命令【jps、jinfo、jstat、jstack、jmap】+常用工具【jconsole、jvisualvm、Arthas、MAT】+性能优化及总结+高并发场景分析+JVM性能优化指南。
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。JConsole能够提供被监控虚拟机...
JConsole监控JVM
自己动手实践的jconsole远程配置方法,傻瓜型文档
JVM性能监控工具VisualVM Jconsole插件所需jar包 JTop.jar 点击'JConsole Plugins'按钮 点击'Add JAR/Folder'按钮, 添加JDK_HOME/demo/management/JTop/JTop.jar7)重新打开监控页面,可以看到JConsole
jconsole监控工具配置安装说明 1.tomcat需要添加的参数配置,主要是开启远程监控端口 2.jdk环境变量配置 3.运行监控工具,图形化详细介绍如何配置远程监控 本文档是针对客户实际生产环境而写,配置过程中遇到了一些...
JVisualVM进行性能分析中,jconsole需要的jtop插件,jdk1.8可用
是不是有时候jconsole配置后重启报错,那么试试这个,万能的远程打开jconsole
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,使用JConsole可以很方便的监控本地或者进程的Java应用.
【IT十八掌徐培成】Java基础第26天-02.jvm-young gen-old gen-eden-sur-jvisualvm-jconsole.zip
jvm分析性能必备工具,比jconsole、jvisualvm好用 可以在idea安装插件后关联 即可启动容器时 一直观察jvm性能,推荐开发人员使用。
JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。 如果你需要运行java程序,只需...
使用jconsole远程监控tomcat jmx 实验操作详细信息,本人实验实操
使用Jconsole对java的内存使用情况(JVM)进行监控参照.pdf
主要介绍了使用jconsole监听远程Tomcat服务,需要的朋友可以参考下
jconsole.jar下载