java - 获取 OutOfMemoryError : GC overhead limit exceeded with Tomcat server in Linux machine

标签 java tomcat out-of-memory

我的 Tomcat 服务器在 Linux 机器上出现“OutOfMemoryError:超出 GC 开销限制”。如果有任何工具可以帮助我分析我的 Java 应用程序中的哪个程序消耗了大量内存,请告诉我。我们是否有任何调试工具可以提供一些信息来了解 tomcat 服务器在哪里因此错误而失败?

提前致谢。

最佳答案

确保设置命令行参数:-XX:+HeapDumpOnOutOfMemoryError 以在 OOM 时进行堆转储。也很有用:-XX:HeapDumpPath=<堆转储文件夹>。

当 OOM 发生时,您可以使用 MAT 分析堆转储.这是分析堆转储的非常有用的工具。

您也可以使用 jmap手动进行堆转储。示例:jmap -dump:file=<output-filename> <java process id>

关于java - 获取 OutOfMemoryError : GC overhead limit exceeded with Tomcat server in Linux machine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834993/

相关文章:

java - 如何使用 Tomcat 和 Java 技术提供动态生成的文件?

tomcat - 由于 org.apache.catalina.LifecycleException :,Grails 项目在 eclipse 中运行但不在 intellij-idea 中运行

jvm - Firrtl 在输入较大时耗尽堆内存

iphone - 创建 NSArray - EXC_BAD_ACCESS?

java - Spark 应用程序 - Java.lang.OutOfMemoryError : Java heap space

java - 与数据库的连接卡在 asynctask 中

java - 这个类可以变得更加不可变吗?

java - 为 ARM 运行 JavaFX 应用程序

java - 在java中移动椭圆

tomcat - springboot内嵌tomcat绑定(bind)IPV6