en uno de nuestros servidores, Garbage Collection tomó casi tres horas para tratar de reducir (con éxito) 1.2 GB de memoria de montón. De 1.4GB a 200MB.Tres horas para que GC reduzca 1,2 GB de pila, ¿cuál podría ser el motivo?
Durante este tiempo, el uso de la CPU fue alto, casi 80-100%. ¿Cuál podría ser la razón? Tenemos 4 de tales servidores con la misma configuración (configuración de JVM, configuración del servidor, hardware, red), suponiendo que nadie haya hecho ningún cambio en ella, lo que podría ser la razón por la cual el servidor en particular ejecutó un GC de 3 horas.
Todos los demás servidores tardaron solo de 5 a 10 minutos para cada actividad de GC.
Amablemente adjuntó un gráfico de HP BAC para su fácil referencia. Muestra la hora en la que supongo que se inició el GC, y cuando el GC se detuvo.
(Stephen Como señala para los resultados más concluyentes) Proporcionar esta información cuando el administrador del servidor se pone de nuevo a mí:
- La versión exacta de la JVM está utilizando . (Estándar Java SE 1.4.2)
- Las opciones de JVM. (Próximamente)
- Detalles de el contenedor web/base del servidor. (Próximamente)
- Información sobre qué hace el servicio . Cualquier pista relevantes de los archivos de registro del servidor /servicio (Coming)
- ningún patrones relevantes en los registros de solicitudes (Coming)
- Los registros de GC para la hora del evento . (Si actualmente no tiene habilitado el registro GC, puede que tenga que activarlo y esperar hasta que el problema se repite .) (Coming)
Supongo que no estaban bromeando cuando dijeron que el tiempo para la asignación de memoria dinámica no tiene límites ... (Por cierto, ¿qué significa BAC? Me confundí por un segundo, pensé que representaba algo no relacionado, lol .) – Mehrdad
Hola Mehrdad, creo que es sinónimo de Business Activity Center. –
Hola Mehrdad, ¿a qué te refieres con "la asignación dinámica de memoria no tiene límites", ¿te refieres a la desasignación? Desde GC barre ... thx. –