Inmersión en la asignación de memoria de ZGC: Mejoras con la caché asignada (JDK-8350441)

2025-04-23

Esta publicación profundiza en los detalles de la asignación de memoria del montón Java en ZGC, un recolector de basura de OpenJDK. Destaca las mejoras introducidas en JDK-8350441 con la caché asignada. ZGC organiza la memoria del montón en páginas (pequeñas, medianas y grandes) gestionadas por un asignador de páginas y particiones. El proceso de asignación se explica meticulosamente, cubriendo la gestión de la capacidad, la interacción entre la memoria física y virtual, y el papel de la caché asignada en la optimización de la velocidad de asignación y la reducción de la fragmentación. El artículo detalla el impacto de la arquitectura NUMA en la asignación de múltiples particiones, el compromiso de memoria, la recuperación y la desfragmentación. Finalmente, se debate la compensación entre el tiempo de inicio y la latencia en tiempo de ejecución.