Удаление параметра MaxMetaspaceSize ("-XX: MaxMetaspaceSize = 1g") на производственном сервере, вызывающего еще одну ошибку: ошибка кучи из памяти - PullRequest
1 голос
/ 01 апреля 2020

На моем сервере всего 16 ГБ памяти. Максимальная память JVM (Xmx) назначается 12 ГБ. В JVM мы используем WSO2 ESB. Мы установили MaxMetaspaceSize=1g в JVM. Это часто давало нам следующую ошибку.

java.lang.OutOfMemoryError: Metaspace

Затем мы удалили параметр MaxMetaspaceSize=1g из JVM. Затем мы обнаружили следующие две ошибки в JVM, и в приложении также возникла медлительность.

Caused by: java.lang.OutOfMemoryError: Java heap space
Caused by: java.lang.OutOfMemoryError: Required array size too large

Что может быть возможным решением для избавления от начальной ошибки Metaspace?

1 Ответ

0 голосов
/ 01 апреля 2020

Выполните следующие шаги:

  1. Открыть catalina.sh из tomcat / bin.

  2. Измените JAVA_OPTS на

    JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m 
    -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
    -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
    
  3. Перезагрузите кота

...