请问哪位高手可以解决目前我们公司网站的疑问,目前网站一直不稳定,偶尔会报503服务暂时不可用的报错。供应商一直没有办法解决。还说可能不是程序或tomcat-apache配置上的问题,你们怎么看?所以我不得不自己想办法,如果你或你的公司可以帮忙解决,以后我会考虑有业务给你们做,以作为答谢。我自己看了tomcat的日志代码和apache的访问日志,以下是两段日志记录,我们不知道是不是错误的记录。请过目,如果还想了解更多信息,也请提出。请尽快能答复我。十分感谢!我们的系统是tomcat+apache+win2003svrApache log:
220.181.56.2 - - [26/Dec/2007:17:23:11 +0800] "GET /product/images/product_title_06_1.jpg HTTP/1.1" 200 503 "http://www.fa.omron.com.cn/product/ProductClass.jsp" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)"
Tomcat log:
2007-12-26 17:10:24 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space
at com.mysql.jdbc.Buffer.getBytes(Buffer.java:198)
at com.mysql.jdbc.Buffer.readLenByteArray(Buffer.java:318)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1366)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2333)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:435)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2040)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1443)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1777)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3243)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3172)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1197)
at com.mysql.jdbc.Connection.buildCollationMapping(Connection.java:1667)
at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:4017)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2906)
at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at src.manage.db.DBManager.<init>(DBManager.java:50)
at org.apache.jsp.support.Q_0026ADetail_jsp._jspService(Q_0026ADetail_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
220.181.56.2 - - [26/Dec/2007:17:23:11 +0800] "GET /product/images/product_title_06_1.jpg HTTP/1.1" 200 503 "http://www.fa.omron.com.cn/product/ProductClass.jsp" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)"
Tomcat log:
2007-12-26 17:10:24 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space
at com.mysql.jdbc.Buffer.getBytes(Buffer.java:198)
at com.mysql.jdbc.Buffer.readLenByteArray(Buffer.java:318)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1366)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2333)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:435)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2040)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1443)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1777)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3243)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3172)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1197)
at com.mysql.jdbc.Connection.buildCollationMapping(Connection.java:1667)
at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:4017)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2906)
at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at src.manage.db.DBManager.<init>(DBManager.java:50)
at org.apache.jsp.support.Q_0026ADetail_jsp._jspService(Q_0026ADetail_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
解决方案 »
- xiaoxiang上传组件的问题
- JSP中数据库更新问题
- struts问题???
- 求教:collection-based for的困惑
- 请问我用自己的电脑做服务器 外界的电脑访问不了我的电脑为什么?Internet 防火墙我已经取消了呀
- java socket通信的问题
- 100分求乱码解决办法,
- *****重新编绎生成class文件后删除tomcat下的work目录 再访问该网页会报错!?****
- 到一定条件后,怎么在jsp中达停止输出,不在执行后面的语句
- 第一次用TOMCAT,启动不了,请各位大侠指点?
- 跪求apache+tomcat实现url rewrite 功能的详细配置!!!!!!!!大哥大姐快帮忙啊...
- javascript响应ActiveX事件的问题
http://csbin.itpub.net/post/8077/101265
具体的可以上google搜索“tomcat内存设置”
缓存不足
tomcat/bin/catalina.bat 如果是linux 就是 catalina.sh 在rem 的后面增加如下参数
复制内容到剪贴板代码:
set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m 前2个参数根据你机器的内存大小可以自己调整,建议256/512/1024
Java heap space 在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息也就是说,你的代码根本不能在32M的heap上面运行,你找代码也没有。照你的想法,我们干脆给tomcat 100K 内存算了。
什么?太少了!不能运行,改代码去!我就给你100K,多了没有。哈哈! 开个玩笑!
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:23:55 StandardWrapperValve[QuestionAnswerServlet]: Servlet.service() for servlet QuestionAnswerServlet threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:23:55 StandardWrapperValve[default]: Servlet.service() for servlet default threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:23:57 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:24:02 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:24:02 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:24:04 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:24:04 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space 2008-01-22 11:24:04 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
at org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:163)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:122)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:115)
没有可用的内存提供给垃圾回收器。
你这光改jvm的内存也不行,你这好像是程序有问题,在什么地方消耗的内存特别多,没有销毁,估计是源代码出问题了