java – 如何从运行tomcat获取堆转储7

我试过这个 Get a heapdump on JVM from Tomcat 6
但是对我来说不行,有没有办法从tomcat服务器获取堆转储?提前致谢!

解决方法

获取堆转储的最简单方法是使用 jmap.在具有java进程的机器上执行jmap命令.使用示例:
jmap -dump:file=/mnt/heapdump_2013-04-01.data29842

使用jps知道java Pid.

此外,您可以通过jvisualvm进行堆转储.您可以通过jmxjstatd连接到远程计算机.您可以将heapdump存储在远程计算机上.

要分析heapdumps可以建议你:MAT.非常强大的工具,让您快速了解问题.你可以在MAT中找到here好的inro.

如果您不想长时间停止应用程序,您可以进行二进制转储(You can use gcore or gdb).你可以use jmap to analyze gdb dump.更多信息,你可以在atlassian blog阅读.小心some issues.

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量