wildfly内存Wildfly及内存配置
问题场景
在使用wildfly最新版本18.0.0.Final时,采用wildfly的默认配置进行启动,部署项目,发现出现内存溢出问题: java.lang.OutOfMemoryError。GC开销限制超出错误每当我取消部署/部署模块9-10次时,wildfly的内存使用量继续缓慢增加而且从未减少,它再次给出java.lang.OutOfMemoryError:超出GC开销限制错误。
在此过程中还会出现wildfly假死,无法操作后台页面、无法通过Ctrl+c停止等问题。
解决方法
尝试了很多解决方法都无效,最终的解决方案只能是增加wildfly的内存配置。主要是增加堆内存。
解决方案有两种。第一种为在bin\standalone.conf.bat文件中修改jvm的配置。但这种形式对18.0.0.Final并不起效,具体原因不详细。
set "JAVA_OPTS=-Xms64M -Xmx1024M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m"
针对其他版本倒是可以尝试。配置完之后,可以通过管理后台的运行时来查看,也可以通过启动日志来查看。启动日志时会打印JAVA_OPTS的值。正是查看了日志才发现在此配置并不起效。
第二种方法,直接在bin/standalone.conf中配置。
if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi
这里修改JAVA_OPTS的值即可,修改注意先备份一下该文件。很显然默认配置-Xmx512m很难满足稍微大一些的项目。
原文链接:《wildfly内存Wildfly及内存配置》
相关文章:
- 《热门WEB容器TOMCAT、JETTY、 GLASSFISH、WILDFLY对比》
- 《WILDFLY(JBOSS AS)应用服务器快速入门》
- 《SPRINGBOOT打成WAR包在TOMCAT或WILDFLY下运行》
- 《wildfly(JBoss AS)部署项目基本操作和知识》
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:http://choupangxia.com/2019/10/20/wildfly-out-of-memory-error/