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.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...