首页 > 解决方案 > JMeter 在尝试生成 HTML 报告时内存不足

问题描述

我需要帮助,也许有人有类似的问题JMeter report generation

我有带有 SOAP API 请求的 JMeter 脚本,它们正在下订单。在订单创建期间没有问题,但是当所有请求都完成并且 JMeter 尝试生成报告时,我收到一个错误:

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid8676.hprof ...
Heap dump file created [7011161840 bytes in 93.212 secs]
Uncaught Exception java.lang.OutOfMemoryError: Java heap space in thread Thread[StandardJMeterEngine,5,main]. See log file for details.

我在执行期间使用 JConsole 监控 JMeter,并注意到在测试运行期间堆大部分为 25%,而在报告生成期间上升到 100%。提前致谢

标签: apisoapjmeterout-of-memoryreport

解决方案


该错误清楚地表明 JMeter 缺少Java 堆空间以完成报告生成操作,可能是您执行了长时间运行的测试并且您的.jtl 结果文件非常大,因此它不适合 7GB 的堆. 这通常表明开发人员不太熟悉内存管理,并且无法想出比一次性将所有内容加载到内存中而不是批量/缓冲区执行更好的解决方案,因此在JMeter中提出问题可能是个好主意布吉拉

因此,只需通过操作参数来增加分配给 JMeter 的 JVM 堆大小-Xmx,即使您的系统将开始密集使用交换文件,我相信您应该能够忍受这一点。

替代选项是使用JMeter Plugins Command Line Graph Plotting Tool生成表格/图表,但是这样您将获得单独的结果,而不是花哨的 HTML 仪表板


推荐阅读