如何使用visualvm查找内存泄漏

问题描述 投票:23回答:1

[我怀疑我们的ActiveMQ连接桥中存在严重的内存泄漏-我们正在看到典型的内存泄漏模式(应用程序加载正常,如果长时间运行或在短时间内重新启动,则速度会降低)时间)。我查找了查找Java内存泄漏的现代最佳实践,许多开发人员似乎正在放弃传统工具(如jhat / jmap)来代替新的[er]。

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

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

提前感谢。

我怀疑我们的ActiveMQ连接桥中存在严重的内存泄漏-我们看到的是典型的内存泄漏模式(应用程序加载正常,如果长时间运行或重新启动,速度会降低...

java memory-leaks profiling jvisualvm
1个回答
27
投票
使用visualvm分析内存泄漏不是那么容易。它具有一个称为“采样器”的工具/插件。这可用于采样内存或cpu。您可以定期拍摄快照并查找可能的泄漏。这是有关如何使用它的一些详细信息-从jvisualvm获得

更有效的方法是获取堆转储(例如,当应用程序速度变慢或何时quick search时)。 VisualVM帮助您进行堆转储(使用

Monitor

© www.soinside.com 2019 - 2024. All rights reserved.