collector - ¿Hay un GC en Java que no introduce latencia(stop-the-world) quizás ejecutando el 100% al mismo tiempo?
activar garbage collector (4)
Sólo curioso. Escuché algo sobre el nuevo G1GC que aborda ese problema de latencia. No puedo / no quiero usar RTSJ.
Gracias por adelantado
Es posible que le interese algo como el Zing JVM .
Los sistemas Azul han puesto mucho esfuerzo en la sintonización JVM de baja latencia. Creo que también hay algunos documentos técnicos interesantes que explican cómo se hace esto.
No creo que haya recolectores de basura de pausa cero. Pero en general, un colector de baja pausa como CMS hará el trabajo.
Los problemas con las pausas y la reducción de pausa son los siguientes:
Un régimen de recopilación de pausa cero (o casi pausa nula) aumenta significativamente los gastos generales para la ejecución normal del programa. Esto es particularmente cierto con lenguajes multiproceso como Java.
Los esquemas que usan un subproceso o subprocesos dedicados para hacer la recolección de elementos no utilizados se pueden inundar si la aplicación genera demasiada basura.
Cualquier esquema GC le proporcionará un rendimiento deficiente si los patrones de uso de la memoria de la aplicación son demasiado "grumosos" y / o no tiene suficiente memoria física y virtual.
Puede probar la última colección de basura G1 en JDK 7.
Parece que está buscando el CMS GC: barrido de marcas simultáneas .
(fuente: https://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf , p.12)
Actualización de diciembre de 2015: es posible que le interese el GC "pausa" de Azul. Vea la Explicación del recolector de basura "sin pausa" de Azul para más información.