我正在尝试奔跑sbt start
在用 Scala 编写的 Play Framework 应用程序中,在一台机器上ec2 t2.microAWS 上的实例。但我不能因为内存不足,Java 运行时环境无法继续运行。
该机器有 1GB 内存,但实际上在运行其余操作系统进程时可以使用 930MB 的可用内存。它是 Ubuntu Server 14.04 LTS。该应用程序很小,很可爱。
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000d5550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 715849728 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /app/incoming/hs_err_pid9709.log
链接在这里 https://gist.githubusercontent.com/kovacshuni/7fd87d5c86d236ac4bcc/raw/58784a64d67249d37976eee4a10b1adc1559bfbb/hs_err_pid9709.log到日志文件以获取更多信息。
在里面我看到jvm_args: -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m ...
尽管我以多种不同的方式将 JVM 参数设置为其他内容,但没有效果。
有了这些论据-Xss1m -Xms256m -Xmx512m -XX:+CMSClassUnloadingEnabled
我尝试了一切:
- 在 /usr/share/sbt-launcher-packaging/conf/sbtopts 中设置 JVM 参数
- /usr/share/sbt-launcher-packaging/conf/sbtconfig.txt 中相同
- 运行时直接提供参数:
sbt -J-Xss1m -J-Xms256m -J-Xmx512m -J-XX:+CMSClassUnloadingEnabled start
- 已经设置
fork in run := true
在 build.sbt 中
-
javaOptions in run += "-Xmx512m -XX:+CMSClassUnloadingEnabled"
在 build.sbt 中
他们都没有帮助。每次我运行应用程序时,日志中都会出现同样蹩脚的 1024 件事。请帮忙。
还努力设置 jvm 内存参数sbt
过去在 Linux 上(在 Windows 上你可以调整sbtconfig.txt
但这以及您可以指定的所有其他地方SBT_OPTS
我发现由于某种原因在 Linux 上不起作用)。
上次我通过使用解决了这个问题-mem <amount>
的选项sbt
itself.
所以,在你的情况下,你应该尝试这样的事情:
$ sbt -mem 512 start
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)