java - 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
情况 - 分配的内存应该足够了。感谢您在解析测试日志文件时克服此错误的任何帮助。
解决方案
终于,找到了答案——看这里
解决方案是增加 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"))
它现在对我有用。