Hun*_*ács 8 scala out-of-memory amazon-ec2 jvm-arguments sbt
我正在尝试sbt start在一台用Scala编写的Play Framework应用程序中运行,该应用程序在AWS上的ec2 t2.micro实例上运行.但我不能,因为Java Runtime Environment没有足够的内存来继续.
该机器具有1GB的内存,但实际上在运行剩余的OS进程时可以使用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
Run Code Online (Sandbox Code Playgroud)
在内部我看到jvm_args: -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m ...尽管我用许多不同的方式设置我的JVM args到其他东西但没有效果.
有了这些论点,-Xss1m -Xms256m -Xmx512m -XX:+CMSClassUnloadingEnabled我尝试了一切:
sbt -J-Xss1m -J-Xms256m -J-Xmx512m -J-XX:+CMSClassUnloadingEnabled startfork in run := true在build.sbt中设置javaOptions in run += "-Xmx512m -XX:+CMSClassUnloadingEnabled" 在build.sbt中他们都没有帮助.每次运行应用程序时,日志中都会显示相同的1024条内容.请帮忙.
Eug*_*Loy 12
sbt在过去,在Linux上设置jvm内存args 也很困难(在Windows上你可以调整,sbtconfig.txt但是这个以及你可以指定SBT_OPTS我可以找到的所有其他地方因某些原因在Linux上不起作用).
上次我通过使用自己的-mem <amount>选项解决了这个问题sbt.
所以,在你的情况下,你应该尝试这样的事情:
$ sbt -mem 512 start
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3509 次 |
| 最近记录: |