一尘不染

java.lang.OutOfMemoryError:带有tomcat7 Windows服务的PermGen空间

tomcat

我在 Windows Server 2008 R2 上运行 Tomcat 7.0.33 (我将Tomcat安装为Windows服务)


  • JDK版本: jdk1.6.0_25 64-bit
  • Tomcat选项:

    1. Java虚拟机:( C:\Program Files\Java\jre6\bin\server\jvm.dll 顺便说一句,我在jre中没有客户端文件夹)
    2. 初始内存池: 1000 MB
    3. 最大内存池: 2000 MB

当我检查服务器状态时,我可以看到服务器正在使用我配置的内存。

4. **环境变量(SYSTEM VARIABLES)配置:**

  * **JAVA_HOME:** `C:\Program Files\Java\jdk1.6.0_25`
  * **路径:** `...;%JAVA_HOME%\bin;....`

我是否还需要添加 CATALINA_HOMEJAVA_OPTS 系统变量?

问题: 我有两个Web应用程序 APP1 APP2 当我分别部署每个Web应用程序时,我可以找到用于以下用途的内存

APP1 = 198 MB APP2 = 104 MB

有关应用程序的信息:

APP1,APP2 :Spring Maven应用程序,在库中包括其他小型maven spring应用程序。

APP1:包含Web服务,APP2使用它们。

如果我试图将它们都部署在同一个tomcat实例上,我总是会得到

java.lang.OutOfMemoryError: PermGen space

请告知可能导致此问题的原因。


阅读 199

收藏
2020-06-16

共1个答案

一尘不染

解决方案是在设置初始和最大内存池的旁边,是-XX:MaxPermSize=1000m在java选项卡中添加到java选项。

2020-06-16