我需要测量JUnit测试消耗的内存量。
所以最明显(但不方便)的方法是使用“-Xms128m -Xmx512m”之类的参数运行JVM,并在我收到OutOfMemory错误时进行跟踪。
第二种方法是在运行所有测试后请求heapdump,然后使用Memory Analyzer Tool。但是每次运行测试时都没有用。
理想的方法是,将内存消耗记录到一个文件中,其值包括最大内存消耗,平均消耗,GC调用次数等。或者甚至绘制一个图表,显示如何使用内存。
问题是,是否有任何工具,方法或工具可以做到这一点?或者,也许,我的愿望是不真实和天真的,没有办法收集这些数据?
使用JUnit4在IntelliJ Idea下运行测试。我可以自由使用任何其他环境。提前感谢任何建议!
答案 0 :(得分:7)
您可以使用JConsole,
http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
它附带你的JDK