互联网服务JVMWAS 6.1

WAS6.1经常内存溢出,阻塞多

WAS6.1经常内存溢出,有JAVACOR,阻塞多,不晓得DRSThreadPool为何有那么多阻塞
看过dump,是hashmap占99%,但是开发人员说用hashmap的地方太多了,没法定位。
各位能从javacore里看出点什么来吗?


附件:

附件图标javacore.20140310.150201.19321.0011.txt (3.21 MB)

参与17

16同行回答

jagjagjagjag系统架构师保密
有没有按照时间段查询的功能?  比如月底汇总等等, 看看查询条件是怎么限定的? 没准是业务人员查的数太多了。显示全部
有没有按照时间段查询的功能?  比如月底汇总等等, 看看查询条件是怎么限定的? 没准是业务人员查的数太多了。收起
保险 · 2014-03-21
浏览1013
lubanglubang网站架构师lb
学习下,不错啊。。。显示全部
学习下,不错啊。。。收起
软件开发 · 2014-03-20
浏览993
ajen87ajen87其它汇丰
AWR看过确实没有哪些sql跑得比较久吗?显示全部
AWR看过确实没有哪些sql跑得比较久吗?收起
互联网服务 · 2014-03-18
浏览981
zhwshzhwsh其它SK
建议到oracle先拿个awr出来,把影响性能的SQL优化一下,有的表没建索引的建下索引。was参数方面只能尽量往 ...bj5921 发表于 2014-3-14 15:09     把堆往上调是一个选择。显示全部
建议到oracle先拿个awr出来,把影响性能的SQL优化一下,有的表没建索引的建下索引。
was参数方面只能尽量往 ...
bj5921 发表于 2014-3-14 15:09



    把堆往上调是一个选择。收起
互联网服务 · 2014-03-14
浏览956
zhwshzhwsh其它SK
测了一下,一个会话平均100M, 如果是这个原因造成的,处理的方式就有好几种啦。当然,在之前,开发人员对代码优化了很多地方,现在的运行报错比以前少好多了。显示全部
测了一下,一个会话平均100M, 如果是这个原因造成的,处理的方式就有好几种啦。
当然,在之前,开发人员对代码优化了很多地方,现在的运行报错比以前少好多了。收起
互联网服务 · 2014-03-14
浏览962
bj5921bj5921技术支持WAS
建议到oracle先拿个awr出来,把影响性能的SQL优化一下,有的表没建索引的建下索引。was参数方面只能尽量往大改改了。显示全部
建议到oracle先拿个awr出来,把影响性能的SQL优化一下,有的表没建索引的建下索引。
was参数方面只能尽量往大改改了。收起
IT咨询服务 · 2014-03-14
浏览966
Luga LeeLuga Lee系统架构师None
是生产环境?换种方式,用jprofiler分析动态下显示全部
是生产环境?换种方式,用jprofiler分析动态下收起
互联网服务 · 2014-03-13
浏览1026
zhwshzhwsh其它SK
heapdump指出是hashmap对象占99%,但这个hashmap代码中有很多地方用到,开发人员无从下手。huangdos说的试过了,JVM增加到4G,仍然内存溢出。会话30分钟超时业务方不让改,我想,如果改成10分钟可能就绕过BUG了。...显示全部
heapdump指出是hashmap对象占99%,但这个hashmap代码中有很多地方用到,开发人员无从下手。
huangdos说的试过了,JVM增加到4G,仍然内存溢出。会话30分钟超时业务方不让改,我想,如果改成10分钟可能就绕过BUG了。收起
互联网服务 · 2014-03-12
浏览1082
swallowluoswallowluo系统架构师中国金融电子化公司
从javacore中看内存的确都占光了,而且有很多线程都挂起了。DRSThreadPool这个线程不知道是干什么的。另外,TCP和WebContainer线程有很多挂起,不知道你调整过Linux系统的Tcp连接参数?WebContainer挂起有三个不同的原因,如果实在找不到原因,建议你还是减少WebContainer的最大值,以...显示全部
从javacore中看内存的确都占光了,而且有很多线程都挂起了。
DRSThreadPool这个线程不知道是干什么的。
另外,TCP和WebContainer线程有很多挂起,不知道你调整过Linux系统的Tcp连接参数?WebContainer挂起有三个不同的原因,如果实在找不到原因,建议你还是减少WebContainer的最大值,以减少并发。
因为,溢出的主要原因是JVM堆内存被用光,所以还需要和heapdump一起分析,才能比较容易的找到问题所在。收起
软件开发 · 2014-03-11
浏览1038
niuphniuphit技术咨询顾问IBM
先看一下GC日志,如果是大对象引起的内存溢出,你可以看一下javacore中的Current Thread的堆栈,把这个给开发发过去;如果是内存耗尽引起那就得分析heapdump文件,看一下都是什么对象把内存占用没了;如果gc日志中,看到dump内存还有好多,那就可能是native内存溢出,那就需要收集一下core...显示全部
先看一下GC日志,如果是大对象引起的内存溢出,你可以看一下javacore中的Current Thread的堆栈,把这个给开发发过去;
如果是内存耗尽引起那就得分析heapdump文件,看一下都是什么对象把内存占用没了;
如果gc日志中,看到dump内存还有好多,那就可能是native内存溢出,那就需要收集一下core文件分析了。收起
互联网服务 · 2014-03-11
浏览1054

提问者

zhwsh
其它SK
擅长领域: 中间件应用服务器服务器

相关问题

相关文章

问题状态

  • 发布时间:2014-03-10
  • 关注会员:1 人
  • 问题浏览:10564
  • 最近回答:2014-03-21
  • X社区推广