Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我的Tomcat/Alfresco站点每隔半天左右就会失去响应?_Java_Tomcat_Alfresco - Fatal编程技术网

Java 为什么我的Tomcat/Alfresco站点每隔半天左右就会失去响应?

Java 为什么我的Tomcat/Alfresco站点每隔半天左右就会失去响应?,java,tomcat,alfresco,Java,Tomcat,Alfresco,我是一名开发人员,在CentOS 5机器上运行一个网站,其中包含ApacheTomcat 6.x、Alfresco Labs 3(独立的.war文件)和两个自定义WebApp 在过去的几个月里,服务器一直正常运行,但就在前几天,有人通过Alfresco上传了一张图片,网站停止了响应。除此之外,所有通过Tomcat运行的Web应用程序都没有响应。我在本地尝试了telnet(即telnet localhost 80),但在没有连接的情况下超时 在最近的日志文件(localhost…log)中,我看到

我是一名开发人员,在CentOS 5机器上运行一个网站,其中包含ApacheTomcat 6.x、Alfresco Labs 3(独立的.war文件)和两个自定义WebApp

在过去的几个月里,服务器一直正常运行,但就在前几天,有人通过Alfresco上传了一张图片,网站停止了响应。除此之外,所有通过Tomcat运行的Web应用程序都没有响应。我在本地尝试了telnet(即telnet localhost 80),但在没有连接的情况下超时

在最近的日志文件(localhost…log)中,我看到一个堆栈跟踪,从java.lang.OutOfMemoryError:PermGen空间故障开始,在谷歌搜索之后,将最大perm大小从128MB增加到384MB。我们原以为这会解决问题,但今天它又回来了,tomcat又停机了(除了日志中没有PermGen堆栈跟踪)

另一个不断弹出的堆栈跟踪如下所示:

Jun 16, 2009 3:38:26 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
    at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
    at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:707)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
我不知道这是否有关系,因为它似乎并没有使Tomcat崩溃,但它似乎经常出现。我认为这没什么大不了的另一个原因是,在过去一个月左右的时间里,它一直出现在我们的日志中

除此之外,我不完全确定该怎么办。我知道没有其他线索可以查。我猜这是一个露天问题,但我不能肯定。我今天做的唯一一件改变配置的事情就是将permgen的大小增加到512MB,但这可能没有帮助,因为这次我们实际上没有得到permgen错误


有什么想法吗?

最简单的修复方法可能是检查您正在使用的tomcat版本在任何其他版本中是否存在此错误,您可能只需要升级/恢复tomcat

找到这个,希望有用


最简单的修复方法可能是检查您正在使用的tomcat版本在任何其他版本中是否存在此错误,您可能只需要升级/恢复tomcat

找到这个,希望有用


从256 MB增加到512 MB,稳定了tomcat permgen不稳定性的再次发生。将RAM增加一倍可以保证特别的改进,并且很可能从修复到开发都会得到改善。否则会浪费时间分析,了解原因,无论如何,稍后会将RAM增加一倍。

从256 MB增加到512 MB,稳定了tomcat permgen不稳定性。将RAM增加一倍可以保证特别的改进,并且很可能从修复到开发都会得到改善。否则会浪费时间进行分析,了解原因,无论如何以后会加倍RAM。

您还应该查找内存泄漏——您是否正在从war加载可以从共享库加载的类?另外——某些日志类可能会导致tomcat保留已加载的类(这是填充permgen空间的部分),使其不被GC调用。查看tomcat类加载器,确保从应用程序级类加载器加载的类不超过需要的数量。

您还应该查找内存泄漏——您是否从war加载了可以从共享库加载的类?另外——某些日志类可能会导致tomcat保留已加载的类(这是填充permgen空间的部分),使其不被GC调用。查看tomcat类加载器,确保从应用程序级类加载器加载的内容没有超出需要。

这里似乎有两个不同的问题。你修复了一个,又发现了另一个。遗憾的是,我不知道如何从Tomcat内部诊断这是一个非法状态异常。试着下载Tomcat源代码,看看这一行发生了什么。这与编程无关,但错误源于应用过滤器。您可能想从这里开始。在serverfault.com上问这个问题更合适,应该会给您更好的答案。最后,我们无法理解tomcat为什么变得迟钝。这可能与我们获得的流量(很多)有关,但我不能证实这一点。我们只使用了两个小的struts操作,即设置/获取cookie和返回流结果(包含html文件的内容)。我们的解决方案是在PHP中重写struts操作,并在Apache/PHP上运行webapp。奇怪的是,服务器似乎从未承受过任何类型的负载。然而,对于Apache/PHP来说,它是坚如磐石的。你修复了一个,又发现了另一个。遗憾的是,我不知道如何从Tomcat内部诊断这是一个非法状态异常。试着下载Tomcat源代码,看看这一行发生了什么。这与编程无关,但错误源于应用过滤器。您可能想从这里开始。在serverfault.com上问这个问题更合适,应该会给您更好的答案。最后,我们无法理解tomcat为什么变得迟钝。这可能与我们获得的流量(很多)有关,但我不能证实这一点。我们只使用了两个小的struts操作,即设置/获取cookie和返回流结果(包含html文件的内容)。我们的解决方案是在PHP中重写struts操作,并在Apache/PHP上运行webapp。奇怪的是,服务器似乎从未承受过任何类型的负载。然而,对于Apache/PHP,它已经坚如磐石。是的,但是permgen无论如何都不应该上升。它用于常量和类之类的东西。我会确保所有的devel设置都关闭了,因为这可能会导致tomcat重新编译东西。是的,但是permgen无论如何都不会启动。它用于常量和类之类的东西。我会确保所有的devel设置都关闭,因为这可能会导致tomcat重新编译东西。