我正在使用mule 2.2.1独立服务器并使用yourkit对其进行分析。我正在尝试分析剖析器的输出,如果有人可以帮助阅读结果,我会很感激。
大约99%的堆空间被String消耗,char []这是正常的吗?我应该调查一下吗?
PS旧Gen消耗了使用的3.4 GB总空间中的2.7 GB。我该怎么解释这个?它永远不会
在GC部分,它告诉我它在GC中花费了20%的时间但是我没有看到任何次要或主要的收藏品,我应该怎么看?
由于
答案 0 :(得分:3)
About 99% of the heap space is consumed by String and char[] is this normal ?
您应该打开参考屏幕并检查谁持有这些Strings
和char[]
。 如果是某些应用程序类,它肯定是异常的。在这种情况下,重新访问您的代码并确保您的对象引用被释放以进行垃圾回收。
The PS Old Gen consumes 2.7 GB of the total 3.4 GB heap space used.
使用的这么多堆空间不会在前面发出声音。如果您有大量应用程序并通过设计缓存大量数据,那么它可能没问题。如果没有,您的对象引用应该为您提供why
的清晰图片。一旦你了解原因(不需要的对象引用),然后清除它们。
可能的内存泄漏:
在非内存泄漏屏幕中,它不是很清晰,但看起来像图最终(整体)上升。请稍微检查一下您的数据,忽略尖峰并确保它不会上升。如果它正在上升,那么应用程序代码中可能存在一些内存泄漏。
希望这有帮助。