Raúl González Vicente: Java Dark Memory
Memoria Java en contenedores. Desplegar aplicaciones basados en la máquina virtual java (jvm) puede ser un auténtico reto. Todos hemos sufrido OutOfMemory Killers en entornos de contenedores al desplegar soluciones java en entornos kubernetes o similares, los famosos códigos OOMKilled exit code137 cuando superamos los límites de memoria establecidos para un contenedor. En la mayoría de estas ocasiones los desbordamientos se producen en zonas de memoria que no son fácilmente observables, sobre las que no tenemos métricas o información directa de los sistemas de monitorización habituales, de ahí el nombre de la charlaJava Dark Memory, jugando con la semejanza con la materia oscura del universo (dark matter), que no se ve ni se puede medir, pero influye de una forma determinante en nuestros contenedores. Mi intención es compartir mi experiencia en el diagnóstico, fine tunning, y lecciones aprendidas del despliegue de java en contenedores, comenzando por breve repaso por las zonas de memoria más conocidas (heap, metaspace), para ir entrando en las zonas menos conocidas (code cache, thread stack), introduciendo conceptos como malloc(brk, mmap y arenas), para ir enlazando conceptos y entender como funciona el alojamiento nativo de memoria (Direct Memory Buffers en Arenas o Memory Maps). En todos los casos la charla mostrará como observar, medir y configurar cada una de estas zonas de memoria, con herramientas como NMT, memory profilers, JMX o dumps de memoria. Tras esta exposición, el objetivo es tener clara la importancia de entender como las zonas de memoria off-heap operan en la jvm, que tiene una necesidad de memoria mucho más alta que el heap (75%-25%), como se reservan en el espacio de memoria virtual y como van llenando el espacio de memoria residente produciendo los famosos OOM Killers en non-heap. En las conclusiones, consejos y recomendaciones para "contener" la "memoria oscura". Puedes seguir a Commit Conf en sus redes sociales: @commitconf // https://www.linkedin.com/company/commit-conf/ // https://twitter.com/commitconf // https://www.instagram.com/commitconfspain/ // https://bsky.app/profile/commit-conf.com ------- Síguenos en nuestras redes sociales Web: https://sirviendocodigo.com/ LinkedIn: https://www.linkedin.com/company/sirviendo-codigo/ X: https://twitter.com/sirviendocodigo Instagram: https://www.instagram.com/sirviendo.codigo/ TikTok: https://www.tiktok.com/@sirviendo.codigo #Software #softwarearchitecture #programación #tecnologia #sirviendocodigo
Vídeos relacionados

Samuel A. Jiménez - THE SPACE SHUTTLE COMPUTERS. Arquitectura para ingenieros de un ícono...

Jorge del Casar - Legacy's End: The Flowing Heartstone — Reactividad quirúrgica con Signals

