tomcat out of memory问题请教

aimer311 2006-12-05 10:28:43
昨天因为程序出错,导致内存溢出。我在setclasspath.bat中设置了JAVA_OPTS="-Xms512M -Xmx2000M",不知道是否有效,系统的物理内存是5G.不知道这样是否合理,另外刚才在自己机器上设置相同的参数,发现Xms不能超过一定的数量,比如我的机器是512M内存,其Xms不能超过64M,请问为什么?
...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
aimer311 2006-12-05
  • 打赏
  • 举报
回复
to zxm_dgcstars():
系统原来是正常的,今天刚出现的问题
附错误日志如下
2006-12-05 10:24:00 StandardWrapperValve[default]: Servlet.service() for servlet default threw exception
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:668)
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:160)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:523)
at org.apache.coyote.Response.doWrite(Response.java:524)
at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:384)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:439)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:359)
at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:411)
at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:398)
at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:110)
at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:1996)
at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1745)
at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1073)
at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:506)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at com.trs.bbs.plad.filter.SetCharSetFilter.doFilter(SetCharSetFilter.java:82)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
zxm_dgcstars 2006-12-05
  • 打赏
  • 举报
回复
你的系统报Connection reset by peer: socket write error错误是什么情况下出现的
aimer311 2006-12-05
  • 打赏
  • 举报
回复
对不起,忘记说了。2003Server+oracle
zxm_dgcstars 2006-12-05
  • 打赏
  • 举报
回复
你用的是linux还是unix?
aimer311 2006-12-05
  • 打赏
  • 举报
回复
to zxm_dgcstars()
程序修改过来了,现在没报内存溢出,我提这个问题是想知道我那样设置变量是否正确,同时为什么会有Xms限制?
aimer311 2006-12-05
  • 打赏
  • 举报
回复
郁闷,现在tomcat还出现Connection reset by peer: socket write error,到网上找了资料,大概明白是什么原因,但是不知道如何解决.
zxm_dgcstars 2006-12-05
  • 打赏
  • 举报
回复
应该是你的程序问题吧,如果启动报内存溢出,那就你配置问题
yifuzhiming 2006-12-05
  • 打赏
  • 举报
回复
盼望高手解答
aimer311 2006-12-05
  • 打赏
  • 举报
回复
刚查了下以前的日志,发现以前也有connecton reset的Exception 日志,这应该是正常的,有时候用户在页面还没有完全显示出来的时候就点击ie的停止就会发生这种异常。但是今天好像特别多的这种异常,现在的日志已经10M了(早上还被我清空过一次) ,以前一整天才7M左右。

81,092

社区成员

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

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