Support configurable initial/minimum heap size relative to (/as a percentage of) calculated Xmx

Abierto
#1,377 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
go, java

Línea de trabajo

Comienza en el punto de entrada memory_calculator y compara su comportamiento actual con el mapeo memory_initials de 3.x en config/open_jdk_jre.yml y con la documentación vinculada. El trabajo estará terminado cuando una opción pueda establecer el tamaño inicial del heap como un porcentaje del heap máximo calculado automáticamente sin requerir conocer manualmente Xmx.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

In the 3.x line of the buildpack, config/open_jdk_jre.yml supported a memory_initials mapping, allowing the initial size of each memory region (heap, permgen, metaspace) to be configured as a percentage of its calculated maximum. (https://github.com/cloudfoundry/java-buildpack/blob/3.x/docs/jre-open_jdk_jre.md). This option no longer appears from v4.0 onward (2017), including the current Go-based v5.x buildpack.

Because -Xmx is only known at container start (it depends on the memory limit assigned to the app instance), we cannot set a matching or proportional -Xms value ourselves via JAVA_OPTS, because we'd need to know the calculated -Xmx ahead of time. In practice this means our JVMs start with a small default initial heap and grow it under load, causing avoidable heap-resize activity that didn't happen back when memory_initials was available.

Could memory_calculator support such an option again to set the initial heap size as a percentage of the calculated max heap? This would let us keep using the automatic memory calculation while avoiding heap growth pauses after startup.

Lenguaje dominante
Go
Estrellas
452
Forks
2.5k
Merge medio
14 h 57 min
PR fusionados (30 d)
23

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cloudfoundry/java-buildpack

Todos los issues de cloudfoundry/java-buildpack

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.