java - 生产服务器上的 Tomcat、PermGen 和重新部署

标签 java tomcat out-of-memory permgen redeploy

看起来像

 MemoryError: PermGen space
 java.lang.OutOfMemoryError: PermGen space

是一个常见的问题。您可以增加 perm 空间的大小,但在 100 或 200 次重新部署后它将被填满。跟踪 ClassLoader 内存泄漏几乎是不可能的。

您在生产服务器上使用 Tomcat(或另一个简单的 servlet 容器 - Jetty?)的方法是什么?每次部署解决方案后是否重新启动服务器?

您是否将一个 Tomcat 用于多个应用程序?

也许我应该在不同的端口(或嵌入式 Jetty)上使用多个 Jetty 服务器,并且每次都取消部署/重新启动/部署?

最佳答案

我放弃了使用 tomcat 管理器,现在总是关闭 tomcat 重新部署。

我们在同一台服务器上运行两个 tomcat,并使用带有 mod_proxy_ajp 的 apache webserver,因此用户可以通过同一个端口 80 访问这两个应用程序。这也很好,因为当 tomcat 关闭时,用户会看到 apache Service Unavailable 页面。

关于java - 生产服务器上的 Tomcat、PermGen 和重新部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3521251/

相关文章:

Tomcat在Netbeans中注册成功但无法选择

F# 编译器抛出 OutOfMemoryException

java - 如何使用 jsp/servlet/javascript 创建具有放置在服务器文件夹中的图像的幻灯片效果的照片库

java - WebSphere 8 中的 ejb 问题

Tomcat 8 找不到 com.sun.faces.config.ConfigureListener 类

java - 从 Java 执行 Sonar 嵌入式 Runner 后无法删除 persistit_tempvol 文件

java - 是否有可能控制反序列化文件时创建的对象数量

java - 如何根据元数据中的横向纵向信息禁用 html 中 img 的自动旋转?

java - 避免 Eclipse 的内部首选项 IPreferenceConstants.RUN_IN_BACKGROUND

jsp - 与德语 "Umlaute"相关的 GET 和 POST 的不同行为