首页 > 解决方案 > Gatling:解析日志文件 - OutOfMemoryError:Java 堆空间

问题描述

我从指定的 -Xmx4G 选项开始 sbt:

java -Xms2G -Xmx4G -jar "C:\Program Files (x86)\sbt\bin\sbt-launch.jar"

但是在测试运行结束时,加特林失败了OutOfMemoryError: Java heap space

Parsing log file(s)...
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid17300.hprof ...Only 1223s
Dumping heap to java_pid17300.hprof ...Heap dump file created [1320803380 bytes in 4.554 secs]
[error] Uncaught exception when running test.FeLoadTest: java.lang.OutOfMemoryError: Java heap space

从错误信息中可以看出堆只有1320803380 bytes ~> 1.2G. 但是由于我将 Xmx 设置为 4G,我不明白为什么会发生这种OutOfMemoryError情况 - 分配的内存应该足够了。感谢您在解析测试日志文件时克服此错误的任何帮助。

标签: javasbtheap-memoryload-testinggatling

解决方案


终于,找到了答案——看这里

解决方案是增加 gatling-plugin 的内存,而不是 sbt。在build.sbt文件中需要添加javaOptions

# this is build.sbt file

lazy val root = Project("testing-gatling", file("."))
  .enablePlugins(GatlingPlugin)
  .settings(...)
  .settings(javaOptions in Gatling := overrideDefaultJavaOptions("-Xms1024m", "-Xmx4096m"))

它现在对我有用。


推荐阅读