我在heroku上有一个jhipster生成的应用程序,自第一次部署以来,没有做任何修改,我有一个经典的Error R14(超出了内存配额)。经过几次调查,我仍然无法解决此问题。现在我有300个用户,该应用程序的使用非常基本,但是我仍然想摆脱这种错误。到目前为止,我所做的事情:
在heroku的JAVA-TOOLS选项上设置-XX:+ UnlockExperimentalVMOptions -XX:+ UseCGroupMemoryLimitForHeap
2-我还想设置-Xmx300m,但是鉴于heroku已经应用-Xmx256m的事实,我认为不需要重置此值。
我阅读的最后一条评论指出我要删除缓存的使用,我认为这会降低应用程序的性能,因为所有sql查询都将进入数据库。我正在将EHCache用作本地缓存,你们中的任何一个通过删除或重新配置EHCAche来解决这种情况吗?或是否有解决此问题的建议?
我的应用程序从未崩溃过,但是我担心性能会随着时间的推移而下降。
答案 0 :(得分:0)
尝试使用以下JAVA_OPTS:
-Xmx256m -Xss512k -XX:CICompilerCount=2 -XX:ReservedCodeCacheSize=50m -XX:MaxMetaspaceSize=80m -XX:ParallelGCThreads=3 -Dfile.encoding=UTF-8
这些春天选择:
--server.undertow.io-threads=1
这类似于我们为jhipster-registry找到的理想配置。这样做的目的是减少线程数(从而减少线程堆栈的内存),并减少其他堆外内存。