JVM (lucee)Метапространство постоянно увеличивается

у меня есть сервер lucee (ColdFusion)в производстве.

Сначала мы столкнулись с нехваткой памяти ОС. Мы уменьшили -Xmx2048mдо половины доступной памяти и установили -XX:MaxMetaspaceSize=1000m.

Через некоторое время, однако, tomcat of lucee сообщил об ошибках OutOfMemory и потребовал перезагрузки.

Поскольку метапространство является дополнением к куче и по умолчанию не ограничено, это указывает на то, что метапространство заполняется.

Затем я добавил регулярное jcmd <pid> VM.metaspace, чтобы проверить это предположение. Утром у меня :

 garbage-first heap   total 1572864K, used 959885K [0x0000000080000000, 0x0000000100000000)
  region size 1024K, 249 young (254976K), 18 survivors (18432K)
 Metaspace       used 99985K, capacity 102839K, committed 104996K, reserved 1114112K
  class space    used 7301K, capacity 8154K, committed 8320K, reserved 1015808K

, а вечером:

 garbage-first heap   total 1616896K, used 556546K [0x0000000080000000, 0x0000000100000000)
  region size 1024K, 25 young (25600K), 5 survivors (5120K)
 Metaspace       used 108125K, capacity 111035K, committed 113828K, reserved 1122304K
  class space    used 7509K, capacity 8463K, committed 8704K, reserved 1015808K

Так метаспейс растет примерно на 8Мб в день!

Я обнаружил, что у JAXB есть проблема, которая вызывает такое поведение, поэтому я попробовал обходной путь, добавив -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true, но это не помогло или, возможно, усугубило ситуацию.

Как я могу узнать, что, черт возьми, заполняет мое метапространство?

0
задан 27 September 2021 в 18:16
1 ответ

Мне еще предстоит найти решение этой проблемы, но для этого есть открытый билет. В настоящее время мне приходится периодически перезапускать свой сервер. для предотвращения аварии.

См.

https://luceeserver.atlassian.net/browse/LDEV-2904

и

https://dev.lucee.org/t/lucee-5-3-5-92-java-non-heap-memory-steadily-increases/6948/23

0
ответ дан 4 November 2021 в 00:06

Теги

Похожие вопросы