100% de espacio Eden completo, 0% de espacio de Survivor usado - No se realizó la recolección de basura

Me he encontrado con un caso de GC bastante confuso: si bien el espacio de Eden está lleno al 100%, se utiliza el espacio de 0% de sobrevivientes. Cuando el Eden está lleno, la recolección de basura debe ser activada, ¿verdad?

¿Puede haber un caso en el que se evite que el demonio GC se ejecute? Como una CPU 100%?

Estamos usandojdk-1.7.

¿Cuál puede ser la causa? A continuación se muestra la salida de jmap.

También intentamos capturar un uso de memoria más detallado usandojmap -histo -F, pero luego el uso de la CPU se redujo a 0% y el proceso java se volvió inalcanzable.

using thread-local object allocation.
Parallel GC with 18 thread(s)

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 12884901888 (12288.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)
   G1HeapRegionSize = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 4265738240 (4068.125MB)
   used     = 4265738240 (4068.125MB)
   free     = 0 (0.0MB)
   100.0% used
From Space:
   capacity = 14352384 (13.6875MB)
   used     = 0 (0.0MB)
   free     = 14352384 (13.6875MB)
   0.0% used
To Space:
   capacity = 14680064 (14.0MB)
   used     = 0 (0.0MB)
   free     = 14680064 (14.0MB)
   0.0% used
PS Old Generation
   capacity = 8589934592 (8192.0MB)
   used     = 8589931920 (8191.997451782227MB)
   free     = 2672 (0.0025482177734375MB)
   99.99996889382601% used
PS Perm Generation
   capacity = 41353216 (39.4375MB)
   used     = 41079056 (39.17604064941406MB)
   free     = 274160 (0.2614593505859375MB)
   99.33702858805468% used

Respuestas a la pregunta(4)

Su respuesta a la pregunta