在运行JUnit测试时测量内存消耗的方法

Vla*_*lin 8 java junit jvm intellij-idea junit4

我需要测量JUnit测试消耗的内存量.

  1. 因此,最明显(但不方便)的方法是使用"-Xms128m -Xmx512m"之类的参数运行JVM,并在我收到OutOfMemory错误时进行跟踪.

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

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

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

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

Jua*_*lgo 7

你可以使用JConsole,

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

它随JDK一起提供

  • 谢谢,JConsole 很有用!我想知道,是否可以自动运行 JConsole 并使用单元测试连接到新创建的进程? (2认同)