Java 在Cpanel服务器中部署多个Tomcat应用程序时出现内存泄漏问题

Java 在Cpanel服务器中部署多个Tomcat应用程序时出现内存泄漏问题,java,jsp,tomcat,servlets,cpanel,Java,Jsp,Tomcat,Servlets,Cpanel,我们已经尝试在Cpanel服务器中部署多个tomcat应用程序,并且经常面临内存问题。当我们运行一个tomcat应用程序时,它可以正常工作,没有任何问题,但是当运行两个应用程序时,这会导致%CPU增加到250以上,并且两个应用程序都被卡住。有人能帮我们吗?请参阅下面日志中显示的错误 org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw except

我们已经尝试在Cpanel服务器中部署多个tomcat应用程序,并且经常面临内存问题。当我们运行一个tomcat应用程序时,它可以正常工作,没有任何问题,但是当运行两个应用程序时,这会导致%CPU增加到250以上,并且两个应用程序都被卡住。有人能帮我们吗?请参阅下面日志中显示的错误

org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: PermGen space

Exception in thread "http-bio-80-exec-1206" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-bio-80-exec-1195" java.lang.OutOfMemoryError: PermGen space

# 您将需要调整和优化服务器,以获得适当的资源使用,并作为正在运行和内存不足的Java应用程序

您有什么服务器配置?它是VPS还是专用服务器


或者您正在使用共享主机

您将需要调整和优化服务器,以获得适当的资源使用,并作为您正在运行和内存不足的Java应用程序

您有什么服务器配置?它是VPS还是专用服务器

或者您正在使用共享主机

  • 您是否处于生产环境中
  • 是否在部署阶段或首次使用应用程序时出现异常
  • 你的应用是ligth(微服务)还是单片应用?Xms和-Xmx参数依赖于此
在tomcat中部署war文件时,会使用tomcat java内存的某些部分,并且tomcat无法很好地管理这些部分。证明这一点的是,如果您多次部署同一个应用程序而不重新启动,那么tomcat日志中将显示outofmemory

如果您在生产环境中:

  • 通过应用程序使用一个tomcat。因此,您可以部署、停止、启动、重新启动此应用程序,而不会影响其他应用程序如果在一次部署后重新启动tomcat,部署阶段的内存错误就会消失。

  • 使用tomcat docker。使用docker,您可以杀死整个tomcat ad,并在每次部署中启动一个新实例。这样你的雄猫就干净了

      • 您是否处于生产环境中
      • 是否在部署阶段或首次使用应用程序时出现异常
      • 你的应用是ligth(微服务)还是单片应用?Xms和-Xmx参数依赖于此
      在tomcat中部署war文件时,会使用tomcat java内存的某些部分,并且tomcat无法很好地管理这些部分。证明这一点的是,如果您多次部署同一个应用程序而不重新启动,那么tomcat日志中将显示outofmemory

      如果您在生产环境中:

      • 通过应用程序使用一个tomcat。因此,您可以部署、停止、启动、重新启动此应用程序,而不会影响其他应用程序如果在一次部署后重新启动tomcat,部署阶段的内存错误就会消失。

      • 使用tomcat docker。使用docker,您可以杀死整个tomcat ad,并在每次部署中启动一个新实例。这样你的雄猫就干净了


      您可以尝试增加JVMHi的内存容量,我们已经添加了“/usr/local/easy/bin/setenv.sh”,其中通过添加以下代码已经增加了内存。export JAVA_OPTS=“-Xms2048m-Xmx2048m-XX:PermSize=2048m-XX:MaxPermSize=4096m”如果您的tomcat是新的。检查您的jsp和过程是否存在死循环和深度递归为什么您认为这是内存泄漏?@LPGAD:tomcat版本是“easy-tomcat7.0.42”。到目前为止,第一个部署的应用程序已经运行了一年多,没有出现任何问题。但是,在部署多个应用程序时,问题开始出现。您可以尝试增加JVMHi的内存容量,我们添加了“/usr/local/easy/bin/setenv.sh”,其中通过添加以下代码已经增加了内存。export JAVA_OPTS=“-Xms2048m-Xmx2048m-XX:PermSize=2048m-XX:MaxPermSize=4096m”如果您的tomcat是新的。检查您的jsp和过程是否存在死循环和深度递归为什么您认为这是内存泄漏?@LPGAD:tomcat版本是“easy-tomcat7.0.42”。到目前为止,第一个部署的应用程序已经运行了一年多,没有出现任何问题。但在部署多个应用程序时,问题开始出现。服务器是一个专用服务器,仅部署了tomcat应用程序。内存为16 GB RAM。服务器是一个只部署tomcat应用程序的专用服务器。内存为16 GB RAM。