亚马逊EC2微型实例无法运行sbt

6

我正在尝试在Amazon EC2微实例上使用sbt,但是当我执行sbt命令时出现以下错误。

mkdir prueba
cd prueba
sbt

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (malloc) failed to allocate 715849728 bytes for committing reserved memory

有什么想法吗?

提前感谢你!


也许“微型”对于SBT来说太小了?消息很清楚,SBT启动脚本请求的初始堆大小不可用。 - Randall Schulz
它试图分配比微实例可用的内存要多得多的内存。微实例只有613MB的物理内存供其使用。您的应用程序正在尝试分配682MB。 - datasage
感谢您的回答。最终我编辑了位于 /etc/sbt/ 的 sbopts 文件并更改了内存值。 - Rodrigo Cifuentes Gómez
2个回答

9

您需要在运行sbt时使用一个开关来限制所使用的内存不超过机器上可用的内存。

不要编辑文件,例如我运行 sbt -mem 256,就可以将 -Xmx-Xms 设置为 256MB。很有效。


3

我曾经在EC2微实例上运行sbt。以前,SBT可以使用256M堆或可能更小的堆。尝试运行如下命令:

export SBT_OPTS="-Xms128M -Xmx256M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"

java $SBT_OPTS -jardirname $0/sbt-launch.jar "$@"

请注意,这些是命令,并且需要按照正确的格式输入。不要修改命令,保留HTML标记。

感谢您的回答。最终我编辑了位于 /etc/sbt/ 的 sbopts 文件并更改了内存值。 - Rodrigo Cifuentes Gómez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接