Рекомендуемая конфигурация кучи - PullRequest
0 голосов
/ 04 мая 2018

Не могу выбрать оптимальную конфигурацию для wildfly, как. У меня есть капля на DigitalOcean, и он имеет 2 ГБ оперативной памяти и 1vCPU. У меня есть приложение для социальных сетей с mongodb (войдите и увидите своих подписчиков). Это приложение запускает службу облачных сообщений Firebase каждые 15 минут. после FCM отправьте уведомление клиентам, а клиенты отправят запрос на сервер. После сервера выполните некоторые операции чтения / записи в БД. Но проблема в том, что сервер не может отвечать примерно каждые 2-3 часа, поэтому мне нужно перезагрузить его. Я отслеживаю график использования памяти. после перезагрузки график использования памяти увеличивается медленно, но всегда увеличивается. Это про дикую бабочку или ты можешь что-нибудь сказать по этому поводу? Перед Wildfly есть Nginx.

Wildfly conf:

бен / 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>  

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Вы пытались настроить сборку мусора в 'standalone.conf', расположенном в libexec / bin?

Я переключился на сборку мусора 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"
...