Hemos estado enfrentando errores de falta de memoria en nuestro servidor de aplicaciones por algún tiempo. Vemos que el tamaño del montón utilizado aumenta gradualmente hasta que finalmente alcanza el tamaño de montón disponible. Esto ocurre cada 3 semanas y luego se necesita reiniciar el servidor para solucionarlo. Al analizar los volcados de almacenamiento dinámico, encontramos que el problema es que los objetos se usan en JSP.¿Cómo liberar memoria?
¿Pueden los objetos JSP ser la causa real de los problemas de memoria de Appserver? ¿Cómo liberamos los objetos JSP (Objetos que están siendo instanciados usando usebean u otras etiquetas)?
Tenemos un servidor de aplicaciones Websphere en clúster con 2 nodos y un IHS.
EDIT: Los resultados anteriores se basan en el montón-dump y nativestderr análisis que figura a continuación utilizando el asistente de soporte de IBM
nativestd errar log de análisis de registro:
alt text http://saregos.com/wp-content/uploads/2010/03/chart.jpg
análisis de volcado de Heap:
! [Alt text] [2]
Análisis de volcado de pila que muestra los dominadores inmediatos (2 hasta niveles de entrada hastable en la imagen superior)
! [alt text] [3]
La última imagen muestra que los dominadores inmediatos están en los objetos de datos que se utilizan en las páginas JSP.
Edit2: Más información disponible en http://saregos.com/?p=43
Recuerdo un viejo problema de pérdida de memoria relacionado con la implementación de JSP que no se había compilado previamente. El compilador Sun tenía una pérdida de memoria, los JSP se estaban compilando sobre la marcha, ya que se hizo referencia a que esto finalmente causó un error de falta de memoria. La solución fue precompilar los JSP antes de la implementación. – crowne
pero en nuestro caso el agotamiento del montón es gradual ... la memoria se agota en 3 semanas. No parece un problema de precompilación. Además, precompilamos nuestras JSPs – sarego
3 semanas, sin importar lo que se haga en la aplicación. ¿Usas alguna cosa relacionada con el temporizador? Suena como una acción periódica que no se lanza correctamente. –