Рейтинг:0

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

флаг in

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

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

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

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

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

 мусорная куча всего 1572864 КБ, использовано 959885 КБ [0x0000000080000000, 0x0000000100000000)
  размер региона 1024К, 249 молодых (254976К), 18 выживших (18432К)
 Метапространство используется 99985 КБ, емкость 102839 КБ, выделено 104996 КБ, зарезервировано 1114112 КБ
  используемое пространство класса 7301 КБ, емкость 8154 КБ, выделено 8320 КБ, зарезервировано 1015808 КБ

а вечером:

 мусорная куча всего 1616896 КБ, использовано 556546 КБ [0x0000000080000000, 0x0000000100000000)
  размер региона 1024К, 25 молодых (25600К), 5 выживших (5120К)
 Метапространство используется 108 125 КБ, емкость 111 035 КБ, выделено 113 828 КБ, зарезервировано 1122 304 КБ.
  используемое пространство класса 7509 КБ, емкость 8463 КБ, выделено 8704 КБ, зарезервировано 1015808 КБ

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

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

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

Рейтинг:0
флаг co

I have yet to find a solution to this, but there is an open ticket for it.I am currently having to restart my server periodically to prevent a crash.

Please see

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

and

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

djdomi avatar
флаг za
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – [Из обзора](/review/late-answers/501900)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.