【发布时间】:2011-05-26 07:13:05
【问题描述】:
我们正在尝试检测客户站点的内存泄漏情况。我们使用 JNI 调用 C 代码,而 C 代码又使用 3rd 方库(开源)。
我了解内存泄漏是由于以下原因之一:java 代码、JRE、JNI 相关代码和第 3 方代码。
我应该如何检测泄漏?什么工具?手续?
我们被告知要查看 libumem 并积极考虑使用它。
谢谢,
更新 Java 应用程序使用 JNI 调用 C 代码。 java代码的指标:没有。 第 3 方库:NetSNMP。 Java 堆看起来或多或少是不变的 所以,我们更多地关注 JNI 或 3rd 方 C 库。
【问题讨论】:
-
您能否提供有关您的设置的更多详细信息?例如,如果对 3rd 方 C 代码的 JNI 调用都是短暂的,这意味着 JNI 和 C 3rd 方库都没有问题,并且您的 Java 应用程序本身存在内存泄漏。 Java 应用程序中的内存指标告诉您什么?你有指标......对吗?您的 Java 应用程序的定期堆转储揭示了什么?
标签: java c memory-leaks java-native-interface solaris