如何使用visualvm查找内存泄漏
我怀疑我们的ActiveMQ连接桥中存在严重的内存泄漏-
我们看到的是典型的内存泄漏模式(应用程序加载正常,如果长时间运行或在短时间内一次又一次地重新启动,则会降低速度)
。我查找了发现Java内存泄漏的现代最佳实践,许多开发人员似乎正在放弃传统工具(如jhat / jmap)来代替new(er)jvisualvm
。
启动此工具(并花几个小时阅读其教程)后,我便能够为CPU和内存拍摄探查器快照。
在这一点上,我有点卡住了-如何分析这些快照以识别泄漏?关于如何使用jvisualvm生成快照,有很多文档,但是关于如何实际使用快照的文档很少。
提前致谢。
回答:
使用visualvm分析内存泄漏不是那么容易。它具有一个称为“采样器”的工具/插件。这可用于采样内存或cpu。您可以定期拍摄快照并查找可能的泄漏。以下是有关使用方法的一些详细信息-
通过快速搜索获得
更有效的方法是获取堆转储(例如,当应用程序变慢或OOM发生时)。VisualVM帮助您进行
(使用“ 选项卡上的“ ” )
可以通过MAT分析此文件-
一些详细信息,请参见 如何分析.hprof文件?
以上是 如何使用visualvm查找内存泄漏 的全部内容, 来源链接: utcz.com/qa/417336.html