9

我需要测量我的 JUnit 测试消耗了多少内存。

  1. 所以最明显(但不方便)的方法是使用“-Xms128m -Xmx512m”之类的参数运行 JVM,并跟踪我何时会收到 OutOfMemory 错误。

  2. 第二种方法是在运行我的所有测试后请求 heapdump,然后使用 Memory Analyzer Tool。但是每次我运行测试时都这样做是没有用的。

比方说,理想的方法是将内存消耗记录到一个文件中,其中包含最大内存消耗、平均消耗、GC 调用计数等值。或者甚至绘制一个图表来显示内存是如何使用的。

问题是,是否有任何工具、方法或工具可以做到这一点?或者,也许,我的愿望是不真实和幼稚的,没有办法收集这些数据?

测试在带有 JUnit4 的 IntelliJ Idea 下运行。我可以自由使用任何其他环境。提前感谢您的任何建议!

4

1 回答 1

7

您可以使用 JConsole,

http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html

它随您的 JDK 一起提供

于 2013-06-13T15:17:51.773 回答