JConsole & JVisualVM远程监视Websphere服务器JVM的配置方法

原文链接:http://xjsunjie.blog.51cto.com/999372/1331880/


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 的修改来增大内存空间。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用JAVA jconsole远程连接服务器,需要进行以下步骤: 1. 在服务器配置JMX端口:在服务器的启动脚本或配置文件中添加`-Dcom.sun.management.jmxremote.port`参数,指定JMX端口号。例如,在WebLogic 12c中,可以修改`$Domain_HOME/bin/setDomainEnv.sh`文件,在其中添加`JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=9000"`。 2. 配置JMX远程连接的身份验证和安全性:根据需要,可以配置JMX远程连接的身份验证和安全选项。例如,在启动脚本或配置文件中添加`-Dcom.sun.management.jmxremote.authenticate=false`和`-Dcom.sun.management.jmxremote.ssl=false`参数来禁用身份验证和SSL加密。 3. 启动服务器:使用适当的命令启动服务器,确保已经包含了上述配置参数。例如,可以使用以下命令启动一个Java应用程序:`nohup java -Djava.rmi.server.hostname=..*.** -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar YourJarFileName.jar`。 4. 打开控制台:在本地计算机上打开命令行窗口,输入`jconsole`命令来启动JConsole工具。 5. 连接远程服务器:在JConsole界面中,按照提示输入服务器的主机名和配置JMX端口号。如果有身份验证和密码,也需要输入相应的信息。 通过以上步骤,就可以使用JAVA jconsole远程连接服务器了。请确保服务器上已经正确配置JMX端口并启动了相应的服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [jconsole连接远程服务器](https://blog.csdn.net/qq_37388841/article/details/129717777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linux下 通过jconsole远程监控weblogic](https://download.csdn.net/download/weixin_38715094/14051190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值