初探jconsole+weblogic9.2

来源:互联网 发布:mac微信无法退出 编辑:程序博客网 时间:2024/05/22 16:45

 

web 项目使用weblogic9.2做为服务器, 出现了out of memory 问题, 这时就引发了需要监控JVM内存使用情况. 本来一开始使用jprofiler ,但是只能免费10天... 10天能干什么,难道我们程序员就不过周末了??万恶的jprofiler公司. 还好JDK1.5有jconsole.

 

步骤:

 

1. weblogic服务是"startWebLogic.cmd" 程序来启动的 , 要想连接到jconsole必须设置com.sun.management.jmxremote 参数.

 

运行->startWebLogic.cmd -Dcom.sun.management.jmxremote

或者在快捷方式加上也可以:

 

 

 

2.运行->jconsole

 

3.选择监控服务

 

 

4.OK,连接成功,如下图

 

 

 

记录一点Out Of Memory 原因:

 

堆是应用程序使用的主要部分,一旦堆满,应用程序就会抛出Out Of Memory错误。具体关于堆的构成以及垃圾回收算法,可以参考文档:

http://aleung.blogbus.com/logs/4712392.html

这个环节的优化:

1)       增加JVM内存,使得可使用的堆内存尽可能多,延长垃圾回收的时间。需要注意的是,一般来说,回收1G内存所需要的时间是7秒左右,如果这个时间访问量比较高,极容易导致应用停止响应,所以并非是越大内存越好。

      通过增加 XX:+PrintGCDetails  参数可以观察到垃圾回收的频率和时间2)       调整垃圾回收策略,加快JVM的回收,因为Web应用响应高,很多都是无用内存,加快回收可以保证有效堆会更多,这种方式会消耗更多的CPU。

 

原创粉丝点击