我的 Tomcat 服务器在 Linux 机器上出现“OutOfMemoryError:超出 GC 开销限制”。请让我知道是否有任何工具可以帮助我分析我的 Java 应用程序中的哪个程序正在消耗大量内存。我们是否有任何调试工具可以提供一些信息来了解tomcat 服务器在哪里出现此错误?
提前致谢。
我的 Tomcat 服务器在 Linux 机器上出现“OutOfMemoryError:超出 GC 开销限制”。请让我知道是否有任何工具可以帮助我分析我的 Java 应用程序中的哪个程序正在消耗大量内存。我们是否有任何调试工具可以提供一些信息来了解tomcat 服务器在哪里出现此错误?
提前致谢。
确保设置命令行参数:-XX:+HeapDumpOnOutOfMemoryError 以在 OOM 上进行堆转储。也很有用:-XX:HeapDumpPath=<堆转储文件夹>。
当 OOM 发生时,您可以使用MAT分析堆转储。它是分析堆转储的非常有用的工具。
您也可以使用jmap手动进行堆转储。例子:jmap -dump:file=<output-filename> <java process id>