作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试过这个 Get a heapdump on JVM from Tomcat 6但这对我不起作用,还有其他方法可以从 tomcat 服务器获取堆转储吗?提前致谢!
最佳答案
获取堆转储的最简单方法是使用 jmap .在有java进程的机器上执行jmap命令。使用示例:
jmap -dump:file=/mnt/heapdump_2013-04-01.data 29842
使用jps了解 java Pid。
你也可以通过 jvisualvm 进行堆转储.您可以通过 jmx 连接到远程机器或 jstatd .您可以进行堆转储并存储在远程计算机上。
要分析heapdumps可以建议你:MAT .非常强大的工具,可让您快速了解问题。你可以找到here对 MAT 有很好的介绍。
如果您不想长时间停止应用程序,您可以进行二进制转储(You can use gcore or gdb)。你可以use jmap to analyze gdb dump .您可以在 atlassian blog 上阅读更多信息.当心some issues .
关于java - 如何从运行 tomcat 7 获取堆转储的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20235802/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!