OutOfMemoryError

软件环境:jdk1.6was 7.0oracle 10gLinux amd64-64

堆内存:-Xms1024m -Xmx1536m -Xscmx50m

ThreadStatus.png


从这些信息来看,造成OOM应该是由于数据库连接的问题,但是不能定位到主要是由于数据库的什么造成的,请大家帮忙看看,具体信息见附件

附件:

附件图标javacore.20160401.180305.30714.0002.txt (9.15 MB)

附件图标db20160408.rar (44.9 KB)

参与16

3同行回答

elidongyueelidongyue软件架构设计师中国
解决线程阻塞的问题,你直接增加数据库联接数,或者减少webcontainer都可以。显示全部
解决线程阻塞的问题,你直接增加数据库联接数,或者减少webcontainer都可以。收起
软件开发 · 2016-04-13
浏览1346
syminsymin软件开发工程师symin
谢谢各位的关注,目前定位应该是数据库连接有问题了,可能是数据库连接未关闭,不知道有没有朋友会看awr分析报告,帮忙从awr报告看看有没有什么可用的信息。显示全部

谢谢各位的关注,目前定位应该是数据库连接有问题了,可能是数据库连接未关闭,不知道有没有朋友会看awr分析报告,帮忙从awr报告看看有没有什么可用的信息。

收起
软件开发 · 2016-04-18
浏览1189
elidongyueelidongyue软件架构设计师中国
从你的javacore中看,你所有的线程都被webcontainer3阻塞了。从你的那个线程里看 at org/apache/commons/dbcp/BasicDataSource.getConnection(BasicDataSource.java:880(Compiled Code)) at com/hundsun/jres/impl/db/datasource/AbstractDataSource.getConnection(Abstra...显示全部
从你的javacore中看,你所有的线程都被webcontainer3阻塞了。
从你的那个线程里看
at org/apache/commons/dbcp/BasicDataSource.getConnection(BasicDataSource.java:880(Compiled Code))
at com/hundsun/jres/impl/db/datasource/AbstractDataSource.getConnection(AbstractDataSource.java:118(Compiled Code))
at org/springframework/jdbc/datasource/DataSourceUtils.doGetConnection(DataSourceUtils.java:113(Compiled Code))
at org/springframework/jdbc/datasource/DataSourceUtils.getConnection(DataSourceUtils.java:79(Compiled Code))
at org/springframework/jdbc/core/JdbcTemplate.execute(JdbcTemplate.java:382(Compiled Code))
at org/springframework/jdbc/core/JdbcTemplate.query(JdbcTemplate.java:458(Compiled Code))
现在怀疑,你在一个事务中多次取了数据库联接。而同时你的连接数不足,导致其他的线程被webcontainer3阻塞。具体是什么导致的你这个堆溢出,你要拿heapdump来看。收起
软件开发 · 2016-04-13
浏览1235
  • heapdump文件取下来了,由于生产是64位的,本机是32位的,无法打开1.6g内存的heapdump文件,最近一直在想办法找64位的机器,大牛能把dump文件发你帮我看看吗?
    2016-04-13
  • bisu  bisu回复 symin
    你传到百度网盘上
    2016-04-14

提问者

symin
软件开发工程师symin
擅长领域: 中间件内存溢出

相关问题

相关文章

问题状态

  • 发布时间:2016-04-12
  • 关注会员:3 人
  • 问题浏览:3603
  • 最近回答:2016-04-18
  • X社区推广