如何使用visualvm查找内存泄漏

我怀疑我们的ActiveMQ连接桥中存在严重的内存泄漏-

我们看到的是典型的内存泄漏模式(应用程序加载正常,如果长时间运行或在短时间内一次又一次地重新启动,则会降低速度)

。我查找了发现Java内存泄漏的现代最佳实践,许多开发人员似乎正在放弃传统工具(如jhat / jmap)来代替new(er)jvisualvm

启动此工具(并花几个小时阅读其教程)后,我便能够为CPU和内存拍摄探查器快照。

在这一点上,我有点卡住了-如何分析这些快照以识别泄漏?关于如何使用jvisualvm生成快照,有很多文档,但是关于如何实际使用快照的文档很少。

提前致谢。

回答:

使用visualvm分析内存泄漏不是那么容易。它具有一个称为“采样器”的工具/插件。这可用于采样内存或cpu。您可以定期拍摄快照并查找可能的泄漏。以下是有关使用方法的一些详细信息-

通过快速搜索获得

更有效的方法是获取堆转储(例如,当应用程序变慢或OOM发生时)。VisualVM帮助您进行

(使用“ 选项卡上的“ ” )

可以通过MAT分析此文件-

一些详细信息,请参见 如何分析.hprof文件?

以上是 如何使用visualvm查找内存泄漏 的全部内容, 来源链接: utcz.com/qa/417336.html

回到顶部