Eso es como gc completa con prolijas gc miradas habilitados como -recolección de basura de Java tiempo "real" es mucho más grande que el "sistema" "usuario" +
13463.547: [Full GC [PSYoungGen: 323053K->0K(325952K)]
[PSOldGen: 653170K->331738K(655360K)] 976224K->331738K(981312K)
[PSPermGen: 238715K->238715K(264448K)], 385.4631490 secs]
[Times: user=2.19 sys=1.35, real=385.50 secs]
¿Cómo puede ser mucho más grande que el usuario el tiempo real + sys?
Mi primer pensamiento fue que el recolector de basura está esperando un recurso, pero este recurso no parece ser IO o CPU, ya que la salida "superior" no muestra ninguna CPU o problemas de memoria cuando se produce el gc.
Si no está esperando en IO y no está vinculado a la CPU, la única otra cosa en la que puedo pensar es esperar en un semáforo/mutex, o realmente realmente lento acceso a la memoria. – Jonathan
¿usa JNI en su aplicación? ¿Cuál es el tamaño de tu montón y la cantidad de ram física que tienes? – Ron
Xmx = 960 Mb, RAM = 4GB usamos JNI pero no con demasiada frecuencia, ¿cómo afecta JNI a la recolección de basura? –