OutOfMemoryError:Tensorflow测试执行时的Java堆空间
使用以下命令执行Tensorflow测试套件:OutOfMemoryError:Tensorflow测试执行时的Java堆空间,java,tensorflow,bazel,Java,Tensorflow,Bazel,使用以下命令执行Tensorflow测试套件: bazel test //tensorflow/... 抛出内存不足问题: INFO: Found 1886 targets and 1155 test targets... INFO: Elapsed time: 291.775s, Critical Path: 0.91s java.lang.OutOfMemoryError: Java heap space at com.google.devtools.build.skyfr
bazel test //tensorflow/...
抛出内存不足问题:
INFO: Found 1886 targets and 1155 test targets...
INFO: Elapsed time: 291.775s, Critical Path: 0.91s
java.lang.OutOfMemoryError: Java heap space
at com.google.devtools.build.skyframe.SkyKey.create(SkyKey.java:57)
at com.google.devtools.build.lib.skyframe.ArtifactSkyKey.key(ArtifactSkyKey.java:43)
at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.toKeys(ActionExecutionFunction.java:576)
at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:158)
at com.google.devtools.build.skyframe.ParallelEvaluator$Evaluate.run(ParallelEvaluator.java:370)
at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:501)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Java heap space
bazel ran out of memory and crashed.
我尝试了以下选项,但问题仍然存在
export _JAVA_OPTIONS=“-Xms1024m-Xmx1024m”
导出JVM_ARGS=“-Xmx1024m-XX:MaxPermSize=256m”
export JVM_ARGS=“-XX:PermSize=64M-XX:MaxPermSize=256m”
另外,更改了bazel代码中的文件:scripts/bootstrap/compile.sh
“运行“${JAVAC}”-J-Xms1g-J-Xmx1g-classpath“${classpath}”-sourcepath“${sourcepath}”
”
机器配置:Ubuntu发行版、openjdk8、RAM 16G尝试使用正确的名称和不带引号的字符设置
JAVA\u选项
:
JAVA_OPTIONS= -Xms512m -Xmx1024m
如果不起作用,可能没有使用JAVA_OPTIONS env变量您可以尝试直接在执行命令中指定参数。 ,你可以:
bazel test --host_jvm_args=-Xms512m --host_jvm_args=-Xmx1024m //tensorflow/...
谢谢下面的命令对我有用:
bazel--host_jvm_args=“-Xms512m”--host_jvm_args=“-Xmx1024m”test//tensorflow/…