2

我无法为 wildfly 选择最佳配置。我在 DigitalOcean 上有一个 droplet,它有 2GB Ram 和 1vCPU。我有一个带有 mongodb 的社交媒体应用程序(登录并查看您的关注者)。此应用每 15 分钟触发一次 Firebase Cloud Message 服务。在 FCM 向客户端发送通知并且客户端向服务器发送请求之后。在服务器进行一些数据库读/写操作之后。但问题是服务器大约每 2-3 小时无法响应一次,所以我需要重新启动它。我跟踪内存使用图。重新启动后内存使用图缓慢增加但总是增加。这是关于wildfly conf还是你可以说什么?Wildfly前面有Nginx。

Wildfly 配置:

bin/standalone.conf

if [ "x$JAVA_OPTS" = "x" ]; then  
   JAVA_OPTS="-Xms768m -Xmx1024m -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"  
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true -Duser.timezone=GMT+3"  
else  
   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"  
fi  

域/配置/domain.xml

<server-group name="main-server-group" profile="full">  
            <jvm name="default">  
                <heap size="1024m" max-size="1536m"/>  
            </jvm>  
            <socket-binding-group ref="full-sockets"/>  
        </server-group>  
        <server-group name="other-server-group" profile="full-ha">  
            <jvm name="default">  
                <heap size="1024m" max-size="1536m"/>  
            </jvm>  
            <socket-binding-group ref="full-ha-sockets"/>  
</server-group>  

域/配置/host.xml

<jvms>  
        <jvm name="default">  
            <heap size="1024m" max-size="1536m"/>  
            <jvm-options>  
                <option value="-server"/>  
                <option value="-XX:MetaspaceSize=96m"/>  
                <option value="-XX:MaxMetaspaceSize=256m"/>  
                <option value="--add-exports=java.base/sun.nio.ch=ALL-UNNAMED"/>  
            </jvm-options>  
        </jvm>  
    </jvms>  

谢谢你。

4

1 回答 1

0

您是否尝试在位于 libexec/bin 的“standalone.conf”中设置垃圾收集?

我切换到 Oracle 的 G1 垃圾收集,它解决了我在 WildFly 10/11 上的所有“内存不足”问题。现在与 12 一起使用。

http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

# G1 Garbage Collector
    JAVA_OPTS="-server -Xms2g -Xmx8g"
    JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC"
    JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=200"
    JAVA_OPTS="$JAVA_OPTS -XX:InitiatingHeapOccupancyPercent=45"
    JAVA_OPTS="$JAVA_OPTS -XX:G1ReservePercent=25"
    JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDateStamps -verbose:gc -XX:+PrintGCDetails -Xloggc:/Users/NOTiFY/IdeaProjects/MigrationTool/garbage-collection.log"
于 2018-05-04T12:31:44.083 回答