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

标签 java junit intellij-idea jvm junit4

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

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

  2. 第二种方法是在运行我的所有测试后请求堆转储,然后使用内存分析器工具。但每次运行测试时都这样做没有用。

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

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

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

最佳答案

您可以使用 JConsole,

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

它是你的 JDK 自带的

关于java - 在运行 JUnit 测试时测量内存消耗的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090643/

相关文章:

Java 从 ZipInputStream 条目创建 InputStream

java - jUnit,测试 "new"引用

java - @Before、@BeforeClass、@BeforeEach 和 @BeforeAll 之间的区别

java - 外部 Jar 不工作 "Could not autowire"

java - 修复intellij中的ClassNotFoundException

java - Hadoop 结果搞砸了

Java按照一定的规则编辑文本

java - Spring : @Repository annotation for DAO

java.lang.NoSuchMethodError : org. mockito.Mockito.framework()Lorg/mockito/MockitoFramework

logging - IntelliJ IDEA 运行控制台日志中的 "Clear All"快捷方式