【发布时间】:2021-01-28 14:39:32
【问题描述】:
通过 Web 服务提交约 300 个请求并获得响应以进行验证后,我收到“Java 堆空间”错误。每个 Web 服务响应的大小约为 1 MB。
我已将根本原因缩小到这些大型服务响应,但我该如何解决或解决这个问题?根据对此问题的研究,我已经尝试了以下操作项,但没有成功:
- 更新到空手道 9.6
- 更新到 Java 11
- 增加内存大小
- 减少日志记录(调试到信息等)
对于每个响应大小约为 50 KB 的不同 Web 服务也会发生同样的情况,尽管它需要更长的时间才能耗尽内存。在 800 个订单后,它快用完了:
1823874 [错误] 无法在项目 mvrinteractive 上执行目标 org.codehaus.mojo:exec-maven-plugin:1.6.0:java(默认):执行 Java 类时发生异常。 Java 堆空间 -> [帮助 1] org.apache.maven.lifecycle.LifecycleExecutionException: 无法在项目上执行目标 org.codehaus.mojo:exec-maven-plugin:1.6.0:java (默认) mvrinteractive: 执行 Java 类时发生异常。 Java 堆空间
【问题讨论】:
-
如果在这么多请求后出现错误,那么您的代码中可能存在内存泄漏
-
对于未来的读者 - 升级到新版本有帮助,Peter 还建议了这段代码,它很有帮助:* string response = responseBytes
标签: java maven out-of-memory karate heap-memory