2012-01-03 21 views
6

Recientemente comenzamos a utilizar New Relic para monitorear nuestra aplicación de producción alojada en el servidor Tomcat 7.0.6 pero hemos observado que la huella de memoria de este tomcat aumenta continuamente y en una semana consume todo el servidor (AWS High-Memory Double Extra Memoria de gran instancia) y dejar de responder, solo la forma de recuperarlo es reiniciándolo. Proporcionamos Xms & Xmx argumentos al iniciar el tomcat pero en pocas horas el uso de la memoria del proceso tomcat cruza el valor Xmx y sigue aumentando hasta que toda la memoria del servidor ha terminado. Aquí es comando de proceso:¿Por qué New Relic está comiendo mucha memoria Tomcat?

/usr/java/jdk1.6.0_24//bin/java 
    -Djava.util.logging.config.file=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/conf/logging.properties 
    -Xms8192m 
    -Xmx8192m 
    -javaagent:/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/newrelic/newrelic.jar 
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
    -Duser.timezone=Asia/Calcutta 
    -Djava.endorsed.dirs=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/endorsed 
    -classpath /xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/bin/bootstrap.jar:/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/bin/tomcat-juli.jar 
    -Dcatalina.base=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6 
    -Dcatalina.home=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6 
    -Djava.io.tmpdir=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/temp org.apache.catalina.startup.Bootstrap start" 

Lo ideal sería de esperar que este proceso no usar más de 8 GB de memoria, pero en cuestión de horas que pasa por encima de 10 GB y dentro de unos días se va por encima de 20 GB y todo lo demás en este servidor sufre a causa de (uso 'top' para ver el uso de la memoria). ¿Cómo es esto posible?

+0

Soy un ingeniero que trabaja en Java Agent en New Relic. Si lo desea, puede abrir un ticket de soporte para este problema en [email protected] ¿Qué versión del Agente Java estás usando? Además, ¿la explosión de memoria está en la memoria del sistema o en la memoria del montón? –

+0

Parece que tengo este problema también, por lo que no estás solo. Presenté una solicitud de soporte con newrelic este fin de semana. En nuestro caso, Tomcat simplemente muere con una excepción OutOfMemory. – JBCP

+0

me sucede a mí también –

Respuesta

1

Estoy compartiendo algo más de información sobre el incidente informado anteriormente. la pérdida de memoria no está en el montón de Java. La aplicación nunca alcanza ningún error FUERA DE LA MEMORIA (8 gb es el límite máximo del montón de Java que hemos establecido). Sin embargo, la memoria virtual y residente sigue aumentando hasta que se agota la memoria RAM. Hemos confirmado que esta fuga ocurre cuando se usa el agente reliquia. Versión: New Relic Agent v2.1.2

1

Disculpa las molestias. Nosotros (New Relic) estamos investigando el problema, pero la primera sugerencia es probar la última versión 2.2.1 del Agente de Java, que hizo cambios sustanciales en la forma en que instrumentamos las clases.

Haré un seguimiento aquí cuando tengamos más información.

+0

¿hay alguna actualización sobre esto? –

+0

Hemos probado 2.2.1 y 2.3.1, todavía está sucediendo. – ThinkFloyd

+2

También estoy experimentando este problema. Y acabo de probar con 2.6 – ZacharyP

4

Existe un problema que afecta a cualquier Sun/Oracle JVM y que se manifestará como un crecimiento ilimitado en la memoria que no es de montón (nativo). Existe una solución para las versiones 2.16+ del agente New Relic Java agregando un retraso de apagado a la transformación de clases en su archivo newrelic.yml en la sección común.

class_transformer: 
    shutdown_delay: 3600 

Desde el changelog

trabajo en torno a Oracle JVM error que en raras ocasiones causa la fuga de un memoria nativa

En casos raros, el Oracle JVM puede perder memoria del sistema operativo nativo (no montón espacio) cuando las clases son interceptadas por el agente. Esta configuración desactiva la interceptación de clases que se cargan después del número dado de segundos. El agente continuará monitoreando las clases cargadas antes de este tiempo .

Cuestiones relacionadas