耗费内存的servlet使Tomcat崩溃

我有一个Tomcat服务器,它提供许多webapps,每个webapps都有很多servlet。 有时,单个webapp的单个servlet内存不足,然后整个Tomcat崩溃,出现Java“内存不足”错误,我必须重新启动它。

有没有办法孤立的servlet,所以当它运行的内存,它不会崩溃所有其他的应用程序?

我目前在Windows上运行Tomcat 7,但是我很快就会转向Linux,因此欢迎这两个平台的回答。

没有没有。 你必须:

  1. 停止消耗这么多的记忆
  2. 给Tomcat更多的内存,或者
  3. 将它安装在自己的Tomcat实例中,以便在崩溃时不会将其他Web应用程序与它一起使用。

在Linux中,我已经看到OOM消息“通常”,我再次说“通常”指向更大的内存大小。 这意味着要么增加内存或获得更大的交换空间。 第一个选项是首选。

系统的体系结构也很重要,但我所看到的通常是确定工作量的问题。 这意味着运行较less的应用程序或生成较less的负载或获得更大的内