我需要测量我的JUnit测试消耗了多少内存。
-
所以最明显(但不方便)的方法是使用"-Xms128m -Xmx512m"这样的参数运行JVM,并跟踪何时得到OutOfMemory错误。
-
第二种方法是在运行所有测试后请求堆转储,然后使用内存分析器工具。但是,每次运行测试时都这样做是没有用的。
期望的方式是,比如说,将内存消耗记录到一个文件中,其中包含诸如最大内存消耗、平均消耗、GC调用计数等值。或者甚至画一个图表来显示内存是如何使用的。
问题是,有什么工具、方法或工具可以做到这一点吗?或者,也许,我的愿望是不真实的和幼稚的,没有办法收集这样的数据?
测试在JUnit4的IntelliJ Idea下运行。我可以自由地使用其他环境。提前感谢任何建议!
你可以使用JConsole,
http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.htmlJDK自带