2012-01-03 4 views
6

는 최근에 우리는 우리의 생산 웹 애플리케이션 바람둥이 7.0.6 서버에서 호스팅 모니터링하는 새로운 유물을 사용하기 시작하지만, 우리는이 바람둥이의 메모리 사용량이 지속적으로 증가하고 주일 이내에는 모든 서버를 먹는 것을 관찰했다 (AWS 고용량 메모리 더블 엑스트라 Large Instance) 메모리가없고 응답이 없으면 다시 시작하는 방법은 다시 시작하는 것입니다. Tomcat을 시작하는 동안 Xms & Xmx 인수를 제공하지만 몇 시간 내에 Tomcat 프로세스의 메모리 사용량이 Xmx 값을 초과하며 모든 서버 메모리가 끝날 때까지 계속 증가합니다.왜 새 유물은 바람둥이 메모리를 많이 먹고 있습니까?

/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의 메모리 이상을 사용하지 기대하지만 시간 이내에는 10기가바이트 위에 가서 몇 일 이내에는 20기가바이트 위의 이동이 서버에서 다른 모든 인해 고통 : 여기에 프로세스 명령은 그것 (나는 메모리 사용량을보기 위해 'top'을 사용한다). 이것이 어떻게 가능한지?

+0

나는 새로운 유물에서 자바 에이전트에서 작업하는 엔지니어입니다. 원하는 경우 [email protected]에서이 문제에 대한 지원 티켓을 열 수 있습니다. 어떤 Java Agent 버전을 사용하고 있습니까? 또한 시스템 메모리 또는 힙 메모리에서 메모리가 폭발합니까? –

+0

나는이 문제도 갖고있는 것처럼 보이므로 너는 혼자가 아니다. 이번 주말에 newrelic과 지원 요청을했습니다. 우리의 경우, Tomcat은 OutOfMemory 예외로 죽게됩니다. – JBCP

+0

나에게도 일어납니다 –

답변

1

나는 위에보고 된 사건에 대해 더 많은 정보를 공유하고 있습니다. 메모리 누수가 Java 힙에 없습니다. 응용 프로그램이 OUT OF MEMORY 오류에 도달하지 않습니다 (8GB는 자바 힙 최대 한계입니다). 그러나 가상 메모리와 상주 메모리는 RAM의 메모리가 부족할 때까지 계속 증가합니다. 유적 에이전트가 사용될 때이 누수가 발생했음을 확인했습니다. 버전 : 새로운 유물 에이전트 v2.1.2

1

문제를 일으켜 죄송합니다. 우리 (New Relic)가 문제를 조사하고 있지만 첫 번째 제안은 Java Agent의 최신 2.2.1 버전을 사용해보십시오. Java Agent의 계기를 크게 변경했습니다.

자세한 정보가 있으면 여기에서 후속 조치를 취할 것입니다.

+0

거기에 어떤 업데이트가 있습니까? –

+0

우리는 2.2.1과 2.3.1을 시도했지만, 여전히 발생하고 있습니다. – ThinkFloyd

+2

이 문제도 발생합니다. 그리고 2.6으로 테스트했습니다. – ZacharyP

4

는 썬/오라클 JVM에 영향을 미치는 비 힙 (기본) 메모리로 무제한의 성장을 나타낼 것이다 문제가있다. 공통 섹션의 newrelic.yml 파일에서 클래스 변환에 셧다운 지연을 추가함으로써 New Relic Java 에이전트 버전 2.16+에 대한 해결 방법이 있습니다. 에서

class_transformer: 
    shutdown_delay: 3600 

changelog

드문 경우 기본 메모리가 드문 경우

누출의 원인 오라클 JVM 버그에 대한-를 해결하려면 오라클 JVM은 (기본 OS 메모리를 누출 할 수 있습니다 힙이 공백). 이 설정은 지정된 숫자 초 후에로드 된 클래스 차단을 차단하지 않고 으로 바꿉니다. 상담원은이 시간 전에로드 된 클래스를 계속 모니터링합니다.