大虾帮忙解决下纠结已久的数据库+tomcat异常

wangzhiyuan520 2011-08-28 12:20:09
一、windows事件查看器报告信息:
Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space

For more information, see Help and Support Center at http://www.mysql.com.

二、tomcat日志1:
java.sql.SQLException: Out of memory (Needed 906204 bytes)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2938)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1601)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1710)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2436)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1402)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1694)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1608)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1593)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
at cn.mchina.service.keyword.RelativityWordServiceImpl.calPv(RelativityWordServiceImpl.java:123)
at cn.mchina.action.search.SearchAction$1.run(SearchAction.java:399)
at java.lang.Thread.run(Thread.java:619)

tomcat日志2

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Server connection failure during transaction. Due to underlying exception: 'java.util.NoSuchElementException'.

** BEGIN NESTED EXCEPTION **

java.util.NoSuchElementException

STACKTRACE:

java.util.NoSuchElementException
at java.util.TreeMap.key(TreeMap.java:1206)
at java.util.TreeMap.lastKey(TreeMap.java:274)
at com.mysql.jdbc.Connection.buildCollationMapping(Connection.java:850)
at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3215)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2093)
at com.mysql.jdbc.Connection.<init>(Connection.java:716)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.GeneratedConstructorAccessor15.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:353)
at com.mysql.jdbc.Connection.getInstance(Connection.java:295)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:74)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at cn.common.db.MchinaDBManager.getConnection(MchinaDBManager.java:36)
at cn.common.DBManager.getDBConnection(DBManager.java:58)
at cn.mchina.service.keyword.RelativityWordServiceImpl.calPv(RelativityWordServiceImpl.java:114)
at cn.mchina.action.search.SearchAction$1.run(SearchAction.java:399)
at java.lang.Thread.run(Thread.java:619)


** END NESTED EXCEPTION **


Attempted reconnect 3 times. Giving up.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:353)
at com.mysql.jdbc.Util.getInstance(Util.java:336)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:985)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2150)
at com.mysql.jdbc.Connection.<init>(Connection.java:716)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.GeneratedConstructorAccessor15.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:353)
at com.mysql.jdbc.Connection.getInstance(Connection.java:295)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:74)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at cn.common.db.MchinaDBManager.getConnection(MchinaDBManager.java:36)
at cn.common.DBManager.getDBConnection(DBManager.java:58)
at cn.mchina.service.keyword.RelativityWordServiceImpl.calPv(RelativityWordServiceImpl.java:114)
at cn.mchina.action.search.SearchAction$1.run(SearchAction.java:399)
at java.lang.Thread.run(Thread.java:619)
java.lang.NullPointerException
at cn.mchina.service.keyword.RelativityWordServiceImpl.calPv(RelativityWordServiceImpl.java:115)
at cn.mchina.action.search.SearchAction$1.run(SearchAction.java:399)
at java.lang.Thread.run(Thread.java:619)
...全文
246 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
2399 2011-08-28
  • 打赏
  • 举报
回复
java.sql.SQLException: Out of memory (Needed 906204 bytes)

内存问题
ylovep 2011-08-28
  • 打赏
  • 举报
回复
虚拟机内存崩溃 建议手动提高tomcat启动内存 或者 分页查询 ,其中提高启动内存可以在myeclipse里进行设置
lwhen 2011-08-28
  • 打赏
  • 举报
回复
不要一次取太多数据
liyang1271989 2011-08-28
  • 打赏
  • 举报
回复
错误一:内存消耗过大
错误二:取值是,next有问题
傻傻的傻傻傻 2011-08-28
  • 打赏
  • 举报
回复
数据量太大内存溢出,建议分页查询。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧