아파치가있는 두 개의 Tomcat 6.0.20 서버가 있는데 두 서버 사이에 AJP를 사용하여 통신합니다. Tomcat은 차례대로 JBoss 클러스터에서 웹 서비스를 사용합니다.Tomcat에서 수백 개의 AJP 스레드의 원인을 확인하십시오.
오늘 아침 Tomcat 머신 중 하나가 우리 머신의 8 코어 중 6 코어에서 100 % CPU를 사용하고있었습니다. 우리는 JConsole을 사용하여 힙 덤프를 취한 다음 JVisualVM을 연결하여 모든 CPU를 차지하는 프로파일을 얻으려고했지만 Tomcat이 충돌하게되었습니다. 적어도 힙 덤프가 있었어!
이클립스 MAT에 힙 덤프를로드했습니다. 여기에서 java.lang.Thread의 인스턴스가 565 개 있다는 것을 알았습니다. 이 중 일부는 분명히 완전히 합법적이지만, 대다수의 이름은 "ajp-6009-XXX"이며 XXX는 숫자입니다.
이클립스 매트 (Eclipse MAT)를 잘 알고 있지만 설명을 찾을 수 없습니다. Tomcat이 왜이 작업을 수행하고 있는지 또는 Eclipse Mat을 사용하는 이유를 알아내는 데 도움이 될만한 지침이 있다면 누구나이 점을 인정할 것입니다.
힙 덤프가 사망 한 스레드의 유물을 포함 할 수 있으므로 모든 565의가 고장이 발생할 때 활성화되었을 수 있습니다. – skaffman