2011-09-13 6 views
1

Java Melody를 사용하여 AJP를 사용하여 Apache 2를 프론트 엔드로 사용하여 Tomcat 6에 배포 된 표준 J2EE 응용 프로그램 인 Java Melody를 모니터링합니다. F5 뒤에 두 가지 인스턴스가 있습니다. 상황이 상당히 정상적으로 보입니다. 볼륨이 낮은 앱입니다. 분당 약 200 건의 평균을 기록하고 CPU의 약 4 %를 사용하며 평균 350MB의 메모리를 사용합니다. 저를 괴롭히는 한 가지는로드 된 클래스 수입니다. 3 일 후에 한 JVM은 752k이고 다른 하나는 741k입니다. 3 개는 클래스 수 증가에 따른 사용의 직접적인 변화입니다.Tomcat에서로드 된 클래스 수는 계속 올라갑니다.

Stackoverflow를 둘러 보면, 응용 프로그램이 Tomcat에서 다시 시작되거나 재배포 될 때이 문제에 대한 많은 게시물이있는 것으로 보입니다. 여기서는 그렇지 않습니다. 우리가 재 전개 할 때마다 아파치를 포함하여 모든 것이 중단됩니다.

어떤 아이디어가 어떻게 진행되고 있는지 파악하는 방법은 무엇입니까?

답변

0

OutOfMemory 예외를 신고하지 않았으므로 이러한 증가하는 클래스는 문제가되지 않을 수 있습니다.

로드 된 클래스 수가 증가하는 경우 에 대한 일부 참조가 여전히 존재하기 때문에 이것들은 가비지 수집되지 않음을 의미합니다. 응용 프로그램에 의해로드되고 메모리에 저장된 일부 내부 API 또는 타사 라이브러리가 여기에 해당 될 수 있습니다.

내가 좋을 것 2 가지가 있습니다

A)는 당신의 GC 설정은, Xmx,Xms,NewSize과 많은 적절한 값으로 설정? 귀하의 질문에 답변을 올릴 수 있습니다.

B) 앱을 프로파일하고 힙에있는 항목을 검사합니다. VisualVM 또는 Yourkit을 사용하여 힙 덤프를 얻고 분석하십시오.

0

AIX에서 tomcat 7을 실행할 때 비슷한 문제가 발생했습니다. java_opt "-Xincgc"를 추가 한 후 레벨이 종료 된 것처럼 보였습니다.

관련 문제