我的 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/