Jconsole监控JAVA模块内存泄漏操作说明
上一篇 /
下一篇 2012-11-20 13:48:20
一、编辑手机报后台的mms_home/cfg/cshrc文件,添加以下内容:
找到下面内容:
setenv MMSC_JAVA_ARGS "-Xmx1024m -Xms256m -Xss1024k -Xverify:none"
setenv MMSCCLIENT_JAVA_ARGS "-Xmx1024m -Xms256m -Xss1024k"
setenv SMS_JAVA_ARGS "-Xmx512m -Xms128m -Xss1024k -Xverify:none"
setenv DSMP_JAVA_ARGS "-Xmx512m -Xms128m -Xss1024k -Xverify:none"
确认要监控哪个模块的内存,就在哪个模块的环境变量中添加下面内容,以空格分隔:
-Xverify:none -Dcom.sun.management.jmxremote.port=10000-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
注意端口号设置不要冲突。
例如,对MMSCCLIENT模块的环境变量MMSCCLIENT_JAVA_ARGS添加内容,变为:
setenv MMSCCLIENT_JAVA_ARGS "-Xmx1024m -Xms256m -Xss1024k -Xverify:none -Dcom.sun.management.jmxremote.port=10000-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
二、source cshrc,使上述改动生效。
三、启动模块。
四、在windows下安装JDK1.6版本
注,1.5版本的也可以,只是概要信息不是图表显示,是文字显示,不够直观。
五、在jdk安装目录下,进入bin目录,双击jconsole.exe,弹出下面界面:
选择远程进程,输入IP和上面设置的模块端口10000,点击连接。即会展示如下界面:
六、java内存监控界面启动后,可以运行手机报业务流程。
例如mmscclient模块,就要运行报纸下发流程,做大数据量测试。
上述界面可切换到内存、线程等进行观察,时间范围可调。
若大数据量流程运行结束一段时间后,内存没有下降到原有水平,说明该模块存在内存泄漏,需要进行分析。
注1, 在linux的图形界面下,运行jdk1.6中的jconsole.exe,选择本地进程也可以监控到运行中的java进程。此处不再详细描述。
注2, 由于portal的进程是jdk1.4的,目前jconsole.exe无法监控该进程的内存情况。
收藏
举报
TAG: