es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Los informes de seguimiento de memoria nativa indican un tamaño de reserva de montón poco realista.

Eres un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código ni la salida en formato markdown

Ejecutando mi aplicación en un contenedor (adoptopenjdk11.0.13:debian) con un límite de memoria de 1g y un porcentaje máximo de RAM del 50

Los informes de NMT muestran lo siguiente:

Total: reservado=17180391287KB, asignado=817523KB
                 Java Heap (reservado=17179869184KB, asignado=557056KB)
                            (mmap: reservado=17179869184KB, asignado=557056KB)

‘cat /sys/fs/cgroup/memory/memory.limit_in_bytes’ muestra 104857600 como se esperaba

¿Cómo calcula exactamente JVM la memoria disponible si no mira los límites de cgroups?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    La JVM calcula la memoria disponible en función de la cantidad de memoria asignada al contenedor en el que se ejecuta. Esto significa que la JVM tiene en cuenta el límite de memoria del contenedor establecido por cgroups. Sin embargo, la JVM también tiene en cuenta otros factores, como la cantidad de memoria que ya utiliza la aplicación y cualquier otro proceso que se ejecute dentro del contenedor. Además, la JVM también puede reservar cierta memoria para su propio uso, como para la pila, el espacio meta y el montón nativo. Por lo tanto, aunque los límites de cgroups proporcionan un límite máximo de memoria para el contenedor, la cantidad real de memoria disponible para su uso por parte de la JVM puede ser menor debido a estos factores adicionales.

Comments are closed.