最近我们开始使用New Relic来监视我们在tomcat 7.0.6服务器上托管的生产webapp,但是我们发现这个tomcat的内存占用空间正在不断增加,并且在一周内它吞噬了所有服务器(AWS High-Memory Double Extra大型实例)内存并且变得没有响应,只有重新启动它才能恢复。 我们在启动tomcat时提供Xms & Xmx参数,但是在几个小时内,tomcat进程的内存使用量与Xmx值交叉,并且它持续增加,直到所有服务器内存都结束。下面是过程的命令:为什么New Relic吃了很多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"
理想情况下我希望这个过程不要使用超过8GB的内存更多,但小时内,它必须高于10GB和几天之内就必须高于20GB和其他所有在此服务器上遭受因它(我使用'top'来查看内存使用情况)。这怎么可能?
我是一名工程师,负责New Relic的Java代理。如果你愿意,你可以在[email protected]上打开这个问题的支持票。您正在使用哪个版本的Java代理?另外,系统内存或堆内存中的内存爆炸了吗? – 2012-01-03 18:30:02
我似乎也有这个问题,所以你并不孤单。本周末我用newrelic提交了一份支持请求。在我们的例子中,tomcat只是因为OutOfMemory异常而死亡。 – JBCP 2012-03-18 19:43:44
对我也有发生 – 2012-04-04 06:15:40