如何让 Class 负责创建大量原始字节?
How to get Class responsible for creating large number of primitive bytes?
问题:
我们的应用程序(在 Java 中使用 Vertx)占用了超过 10 GB 的堆内存。它在应用程序中造成内存泄漏。
我试过的:
为了分析这个原因,我使用 jmap 进行了堆转储,并使用 jhat 进行了分析。 jhat 的结果只是表明某处 byte 本身占用了 8 GB 的内存和数百万个实例。但是每个数组或集合在内部都使用字节。我没有在我的项目中直接使用字节。
需要帮助:
请建议我调试代码中导致内存泄漏的 class 的方法。任何可以显示层次结构和实例计数的工具。
您可以使用 Eclipse MAT 来分析和跟踪 "Path to GC Roots": https://www.eclipse.org/mat/about/screenshots.php.
问题:
我们的应用程序(在 Java 中使用 Vertx)占用了超过 10 GB 的堆内存。它在应用程序中造成内存泄漏。
我试过的:
为了分析这个原因,我使用 jmap 进行了堆转储,并使用 jhat 进行了分析。 jhat 的结果只是表明某处 byte 本身占用了 8 GB 的内存和数百万个实例。但是每个数组或集合在内部都使用字节。我没有在我的项目中直接使用字节。
需要帮助:
请建议我调试代码中导致内存泄漏的 class 的方法。任何可以显示层次结构和实例计数的工具。
您可以使用 Eclipse MAT 来分析和跟踪 "Path to GC Roots": https://www.eclipse.org/mat/about/screenshots.php.