2010-12-10 22 views
21

veo salida de GC, como a continuación:ParNew gc detendrá el mundo?

2010-12-10T16:00:44.942+0800: 1443.562: [GC 1443.562: [ParNew: 201856K->17318K(201856K), 0.0352970 secs] 2113334K->1949037K(4416748K) icms_dc=0 , 0.0354310 secs] [Times: user=0.12 sys=0.00, real=0.04 secs] 
2010-12-10T16:00:46.207+0800: 1444.827: [GC 1444.827: [ParNew: 196774K->22400K(201856K), 0.0119290 secs] 2128493K->1954446K(4416748K) icms_dc=0 , 0.0120560 secs] [Times: user=0.13 sys=0.00, real=0.02 secs] 
2010-12-10T16:00:47.562+0800: 1446.182: [GC 1446.182: [ParNew: 201856K->22400K(201856K), 0.0714350 secs] 2133902K->1982695K(4416748K) icms_dc=0 , 0.0715720 secs] [Times: user=0.23 sys=0.01, real=0.07 secs] 
2010-12-10T16:00:48.545+0800: 1447.165: [GC 1447.165: [ParNew: 201856K->22400K(201856K), 0.1457230 secs] 2162151K->2008418K(4416748K) icms_dc=0 , 0.1458710 secs] [Times: user=0.71 sys=0.05, real=0.15 secs] 

Quiero saber si ParNew GC se detendrá todas las discusiones. Gracias.

+1

Por curiosidad, ¿qué JVM, qué configuración de GC usaste? es decir, ¿quién está agregando las marcas de tiempo y de dónde viene icms_dc? – eckes

+2

Puede obtener esta salida con Sun JVM v6 con las siguientes opciones: -XX: + UseConcMarkSweepGC -verbose: gc -XX: + PrintGCDetails -XX: + PrintGCDateStamps -Xloggc: PATH_TO_A_FILE –

Respuesta

37

Jon Masamitsu's blog lo dice muy claramente

"ParNew" es un mundo-la-parada, copiando colector que utiliza múltiples hilos GC.

En el ejemplo que has demostrado, los tiempos son razonablemente rápida sin embargo

8

Sí, ParNew es una colección de "stop-el-mundo" que recoge la generación joven. Dado que la generación joven es normalmente de pequeño tamaño, la colección debe ser muy rápida y no debe afectar demasiado su aplicación.

2

Sí, es detener el mundo. En su ejemplo, verá el tiempo de pausa dentro de los corchetes. Por lo general, es lo mismo que el tiempo real. ¿El usuario? el tiempo es el tiempo real de CPU gastado en GC. Puede ser mucho más grande que el tiempo real cuando se usa la paralelidad. En su caso, parece 4 subprocesos GC.

0

Sí, se detiene, aunque el mundo, dependiendo de su tamaño de pila y su aplicación, parece que puede usar un tamaño nuevo más grande. Usted está haciendo GC menor cada minuto. Un nuevo tamaño de letra más grande no significa necesariamente que tendrá un menor tiempo de GC. Aunque la ventaja es que no promocionará objetos que pronto morirán a la generación anterior. Cuando llegue el momento de un gc completo, tendrá menos objetos para eliminar y menos tiempo de inactividad.