我的Hippo应用程序在与我的数据库建立连接时,失败了,并且超出了GC开销限制,有时甚至低于错误。
javax.jcr.RepositoryException:未检查的异常:java.lang.OutOfMemoryError:Java堆空间
我试图尽可能多地清理后端。我知道垃圾收集器会占用大量时间,并且每次运行都只能恢复很少的内存。因此,我需要更新堆大小,也可以使用-XX:-UseGCOverheadLimit将其关闭。
但是如何在Hippo应用程序上执行此操作?在哪里以及如何添加堆参数(Xms和Xmx)?
仅供参考。 M使用河马的内置tomcat服务器。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
您似乎可以做的一件事就是增加Bundle cache。这也会增加您的堆大小。
另外,看看this类似的答案。
答案 1 :(得分:0)
您可以在cargo Maven配置文件中使用cargo.jvmargs提供额外的内存。在您的顶级pom中找到货物资料。在properties元素中,您可以执行以下操作:
<cargo.jvmargs>
-agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=${cargo.debug.suspend} -noverify ${javaagent} ${cargo.jvm.args}</cargo.jvmargs>
这些是tomcat将会获取和使用货物的参数。当然,这仅用于本地发展。
https://www.onehippo.org/library/development/run-and-develop-with-cargo.html
答案 2 :(得分:0)
是的。
我用以下方式更新了pom
<cargo.jvmargs>-agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=${cargo.debug.suspend}
-noverify ${javaagent} ${cargo.jvm.args}</cargo.jvmargs>
并使用mvn -P cargo.run -Dcargo.jvmargs="-Xmx8192m"