JVM (lucee) Metaspace aumenta constantemente

JVM (lucee) Metaspace aumenta constantemente

Eu tenho um servidor lucee (ColdFusion) em produção.

No início, encontramos esgotamento da memória do sistema operacional. Reduzimos -Xmx2048mpara metade a memória disponível e definimos -XX:MaxMetaspaceSize=1000m.

Depois de um tempo, porém, o tomcat do lucee relatou erros OutOfMemory e exigiu uma reinicialização.

Como o metaespaço é um acréscimo ao heap e por padrão não é limitado, isso indica que o metaespaço está sendo preenchido.

Em seguida, adicionei um regular jcmd <pid> VM.metaspacepara verificar essa suposição. De manhã, eu tenho:

 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

e a noite:

 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

Portanto, o metaespaço está crescendo cerca de 8 MB por dia!

Eu descobri que o JAXB tinha um problema que causava esse comportamento, então tentei essa solução adicionando, -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=truemas não ajudou ou talvez tenha piorado.

Como posso descobrir o que diabos está preenchendo meu metaespaço?

Responder1

Ainda não encontrei uma solução para isso, mas há um ticket aberto para isso. No momento, estou tendo que reiniciar meu servidor periodicamente para evitar uma falha.

Por favor, veja

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

e

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

informação relacionada