论坛首页 Java企业应用论坛

生产环境jvm内存运行1小时,就接近xmx,系统奇慢。

浏览 19098 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-17   最后修改:2011-10-20
系统运行环境在rhel5.5上,64个cpu,64G的内存。系统先是分配了32g给jvm,用visual vm监控,运行2个小时后32g全部使用了,然后系统非常慢。然后修改为jvm使用4g内,也是一会就全部使用完。

tomcat的catalina.sh配置如下。

JAVA_OPTS='-d64 -server -Xms8g -Xmx8g -XX:PermSize=256m -XX:MaxPermSize=256m -Xss256k'

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=ip地址"

现在怀疑是某个功能的代码写的有问题,问,visual vm有没查看某个线程运行时使用内存情况的命令和插件呀。


新发现的问题可能是jasperreport的问题,使用的版本是3.7.0.,还有使用jasperreport的朋友吗?

有点新的发现JasperPrint对象内的pages属性(ArrayList)size=100多万,这个是什么原因造成的呢?
  • 大小: 55.5 KB
   发表时间:2011-10-17  
  得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~

0 请登录后投票
   发表时间:2011-10-17  
程序新手 写道
  得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~



哥们详细点吧,如果得到这两个文件,用什么工具查看。
0 请登录后投票
   发表时间:2011-10-17  
.....线上问题当然是用眼睛看了~~
0 请登录后投票
   发表时间:2011-10-17  
neptune 写道

  visual vm有没查看某个线程运行时使用内存情况的命令和插件呀。


你这话问得就有问题,每个线程开辟的栈内存都是隔离的,一般情况下不会出现问题,你要看就看堆内存,把

catalina.sh加上GC相关参数,看下是不是FullGC太频繁或者时间太长,另外性能瓶颈也可能是数据库,先把问题缩

小到一个区域,再逐渐去定位~

另外你服务器的性能非常好了已经,但是实际利用率多少得你去怀疑~

送君一句话:“适当”依赖可视化工具
0 请登录后投票
   发表时间:2011-10-17  
jstat -gcutil 'grep java'  1000 5
你用这个方法看下,不会影响性能的. 'grep java'  是对应java进程的pid.
每个1000ms打印gc统计信息,打印五次.
0 请登录后投票
   发表时间:2011-10-17  
neptune 写道
系统运行环境在rhel5.5上,64个cpu,64G的内存。系统先是分配了32g给jvm,用visual vm监控,运行2个小时后32g全部使用了,然后系统非常慢。然后修改为jvm使用4g内,也是一会就全部使用完。

系统配置很强悍啊!
0 请登录后投票
   发表时间:2011-10-17  
程序新手 写道
  得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~


32g的内存全部dump下来。。。。磁盘空间估计是不是问题,可是MemoryAnalyzer这样的工具能分析吗?
0 请登录后投票
   发表时间:2011-10-17  
估计是内存泄漏问题
0 请登录后投票
   发表时间:2011-10-17  
haoweishow 写道
程序新手 写道
  得到javaCore文件和heap dump文件,然后可以查看是线程问题还是内存问题~


32g的内存全部dump下来。。。。磁盘空间估计是不是问题,可是MemoryAnalyzer这样的工具能分析吗?


haoweishow 写道

   然后修改为jvm使用4g内,也是一会就全部使用完
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics