Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 尝试通过sbt构建项目时,Docker中超出了GC开销限制_Scala_Garbage Collection_Docker_Sbt_Boot2docker - Fatal编程技术网

Scala 尝试通过sbt构建项目时,Docker中超出了GC开销限制

Scala 尝试通过sbt构建项目时,Docker中超出了GC开销限制,scala,garbage-collection,docker,sbt,boot2docker,Scala,Garbage Collection,Docker,Sbt,Boot2docker,我试图在docker容器内构建sbt项目,并收到以下错误: java.lang.OutOfMemoryError:超出GC开销限制 系统规格: OS osx+boot2docker(用于虚拟机的8G RAM) Ubuntu15.10内置docker容器 Oracle java 1.7或Oracle java 1.8或OpenJdk 1.8 Scala版本2.11.6 sbt版本0.13.8 只有在运行docker时,它才会失败。如果我通过登录到容器来手动执行此操作,它将生成不包含异常的项目

我试图在docker容器内构建sbt项目,并收到以下错误:

java.lang.OutOfMemoryError:超出GC开销限制

系统规格:

  • OS osx+boot2docker(用于虚拟机的8G RAM)
  • Ubuntu15.10内置docker容器
  • Oracle java 1.7或Oracle java 1.8或OpenJdk 1.8
  • Scala版本2.11.6
  • sbt版本0.13.8
只有在运行docker时,它才会失败。如果我通过登录到容器来手动执行此操作,它将生成不包含异常的项目

OpenJDK 64位服务器VM警告:忽略选项MaxPermSize=1G;支持在8.0中被删除 sbt似乎异常退出。 此会话的日志文件位于/tmp/sbt4972348477806548245.log java.lang.OutOfMemoryError:超出GC开销限制 位于java.io.UnixFileSystem.resolve(UnixFileSystem.java:108) 位于java.io.File。(File.java:262) 位于java.io.File.listFiles(File.java:1290) 在sbt.FilterFiles.handleFile(Path.scala:192) 在sbt.genderantorselfpathfinder.sbt$genderantorselfpathfinder$$handlefilegender(Path.scala:204) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:206) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:205) 在scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 位于scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 在sbt.genderantorselfpathfinder.sbt$genderantorselfpathfinder$$handlefilegender(Path.scala:205) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:206) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:205) 在scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 位于scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 在sbt.genderantorselfpathfinder.sbt$genderantorselfpathfinder$$handlefilegender(Path.scala:205) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:206) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:205) 在scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 位于scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 在sbt.genderantorselfpathfinder.sbt$genderantorselfpathfinder$$handlefilegender(Path.scala:205) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:206) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:205) 在scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 位于scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 在sbt.genderantorselfpathfinder.sbt$genderantorselfpathfinder$$handlefilegender(Path.scala:205) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:206) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:205) 在scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 位于scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 在sbt.genderantorselfpathfinder.sbt$genderantorselfpathfinder$$handlefilegender(Path.scala:205) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:206) 在sbt.genderantorselfpathfinder$$anonfun$sbt$genderantorselfpathfinder$$handlefilegenderant$1.apply(Path.scala:205) sbt执行期间出错:java.lang.OutOfMemoryError:超出GC开销限制 2015/07/15 21:59:19命令“/bin/sh-c/web/tools/bin/sbt compile”返回一个非零代码:1
非常感谢您的帮助!!1

问题在于sbt设置
USER someuser
,然后在此用户下运行
sbt clean
。解决方案是运行
sbt clean
w/next命令
runuser-lsomeuser-c'sbt clean


是:

成为:

runuser -l someuser -c 'sbt clean'

您可以添加复制程序或共享Dockerfile吗?不幸的是,没有,有很多DEP受公司保护。很遗憾,这是一个有趣的问题,请检查Xmx(最大堆大小)的值是多少?尝试
strace docker build.
并查找不带munmap的mmap或大量参数始终增加的brk。我在sbt中遇到了这个问题。我不知道为什么你的修复工作,或者更具体地说,为什么用户不工作。欢迎任何解释
runuser -l someuser -c 'sbt clean'