java - 重新部署 web 应用程序时,Tomcat 6 确实不稳定

标签 java web-applications tomcat

你知道如何让它更稳定吗,也许要设置属性,分配内存?

通过管理器( war )、Web 界面或 Maven 插件重新部署 Web 应用程序时,它总是挂起。

每隔一秒它都会给出 PermGenSpace,没有内存错误等。

在我的本地机器上 3gb 内存。

看起来应该手动设置它才能以稳定的方式工作。

如何解决这样的问题?

最佳答案

PermGenSpace 错误发生是因为在取消部署/部署周期期间存在内存泄漏。

从理论上讲,取消部署应用程序不会导致任何内存泄漏,但一个已知问题是,不同类加载器中的对象之间的微妙依赖性可能会导致应用程序中的内存泄漏。服务器。

短期补救措施是配置 JVM 内存(-Xms-Xms 等)在 2-3 次重新部署后不会中断,但在多次重新部署后会中断,因此您需要重新启动 Tomcat 的频率较低。

长期补救措施是分析导致内存泄漏的原因。这通常不是 Tomcat 的问题,既不是垃圾收集,也不是应用程序代码,而是不同类加载器中各种库的部署。理解这个问题的一篇好文章是:

这是一个我建议您查看的 SO 问题,OP 也有类似的问题:

关于java - 重新部署 web 应用程序时,Tomcat 6 确实不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948040/

相关文章:

java - 在服务器上运行java应用程序

java - 使用 JBOSS_HOME 时 log4j 不记录

apache - 在多个 URL 上使用相同的 tomcat 实例

Java Web 应用程序在缓慢的 MySQL 查询中停止

java - 使用 RandomAccessFile 和 BufferedReader 来加速文件读取

java - CodeNameOne ,无需 root 读取 JSON

web-applications - 使用 gradle 创建一个包含 webapp 中的类的 JAR

java - 调用 RPC 时出错 - GWT,404 服务器响应状态为 404(未找到)

java - 读取文件时java中的日期和时间转换

java - 使用stanford NLP解析器获取原始文本