【问题标题】:How can I know how much memory Eclipse plugins use (separately)我如何知道 Eclipse 插件使用了多少内存(单独)
【发布时间】:2009-06-12 09:36:13
【问题描述】:

有没有办法知道每个 Eclipse 插件分别消耗了多少内存?

【问题讨论】:

    标签: performance eclipse memory eclipse-plugin memory-consumption


    【解决方案1】:

    进行堆转储并使用例如Eclipse Memory Analyser

    更多信息请见Analyzing Equinox Bundle Dependencies with Memory Analyzer

    【讨论】:

    • 尽管这仅适用于一次性快照分析并且不能在运行时使用,但我认为最好了解某个插件的内存使用情况。这将是乏味的工作,但我看不到任何其他机会。确保为您的插件使用具有代表性的数据集,否则您的结果可能会相差很远。
    【解决方案2】:

    如果这是可能的,我会感到非常惊讶,因为您必须有一种明确的方式来确定哪个插件“拥有”堆上的特定对象。

    【讨论】:

      【解决方案3】:

      Eclipse 3.1 有一个内置的内存监视器(又名堆状态)插件,它是 org.eclipse.ui.workbench_3.1.0.jar 的一部分 您必须在调试模式下运行 Eclipse 才能在右下方看到监视器角落。

      同时检查 FreeMem 插件:FreeMem plugin

      在Eclipse中你可以卸载-->测量内存-->安装-->重复循环

      这样您就可以了解每个插件的任何/所有内存使用情况。 祝你这项任务好运。我很想看看结果,因为我发现一些插件比其他插件使用更多的内存。

      【讨论】:

        【解决方案4】:

        我不知道任何通用答案,但也许可以获得某些插件的内存使用情况:因为框架会按需加载插件,如果您可以在插件激活之前和之后读取堆大小,它可能会给出一个想法。

        要检查加载了哪些插件,可以在 OSGi 控制台中使用“ss”命令。

        【讨论】:

          猜你喜欢
          • 2011-11-18
          • 2021-02-04
          • 2011-02-03
          • 2011-09-06
          • 1970-01-01
          • 2017-05-02
          • 2014-03-01
          • 2014-05-20
          • 2010-11-17
          相关资源
          最近更新 更多