是否有一个很好的工具来监控每个 OSGI 包随时间占用多少堆内存?
谢谢,雷特普
通常不可能确定单个捆绑包使用的内存量;只有整个应用程序使用的内存量。
例如:假设bundle A调用了bundle B提供的方法,而bundle B中的方法创建了一个对象。谁负责该对象消耗的内存?Bundle B 直接创建了它,但如果 bundle A 没有要求它,它就不会这样做。所以我们不能真正将内存消耗分配给 A或B。
为了监控整个应用程序的内存消耗,我推荐YourKit和/或Eclipse Memory Analyzer。