Jmeter SampleResult内存泄漏

时间:2018-04-19 08:49:15

标签: java jmeter out-of-memory performance-testing hprof

我正在使用JMeter进行性能测试,并遇到了OutOfMemory异常的问题。我禁用了侦听器,只按照几页上的建议配置.jtl输出。仍然发生内存泄漏。我已经分析了.hprof了一点。内存泄漏是由org.apache.jmeter.samplers.SampleResult类引起的。

我怀疑jmeters将所有响应存储在RAM中,即使它们不需要它们用于.jtl文件。 JTL配置为将输出写为XML(由于TransactionControllers样本的层次结构需要它),但是禁用了保存响应主体和标头。整个最终的.jtl大约有60MB而.hprof的大小超过3GB。

你有任何想法,可能导致这个问题的是什么,如果我怀疑任何想法如何解决这个问题。

提前致谢!

1 个答案:

答案 0 :(得分:0)

OutOfMemoryError例外可以有很多面孔,即:

  • 缺少Java堆空间
  • 超出GC开销限额
  • 请求的数组大小超过VM限制
  • 耗尽交换
  • 等。

因此,您需要仔细检查 jmeter.log 文件和/或.hprof文件,以便深入了解问题并修改JMeter配置以避免将来发生。

请注意,根据JMeter Best Practices,建议使用.csv输出格式,事务控制器结构应保留。

请参阅9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure文章,了解可用于配置JMeter实例以获得最佳性能的一些提示。