한 번에 많은 수의 응용 프로그램을 처리 할 수있는 오래된 응용 프로그램을 보관하는 응용 프로그램이 있으므로 한 번에 며칠 동안 실행해야합니다.쓰레기 수거에 소요되는 시간은 얼마입니까?
회사에서 개발 한 성능 테스트에서 상당히 좋은 성능을 보였지만 최근에는 고객을 위해 아카이브를 실행하고 있으며 실제로 실행 속도가 느린 것으로 보입니다. 성능은 성능이 저하되는 것으로 보입니다.
메모리 누수가없는 것 같습니다. jconsole로 모니터링 했으므로 사용할 수있는 메모리가 충분하고 줄어들지 않는 것 같습니다.
그러나 가비지 콜렉션이 생길 때까지 힙의 생존 공간과 테네시 세대가 매우 빨리 채워질 수 있다는 것을 알아 냈습니다. 오히려 자주 발생하는 것처럼 보입니다. 명백한 천천히의 근원.
응용 프로그램은 7 일 3 시간 동안 실행되었으며 jconsole에 따라 복사 가비지 수집 (772, 611 모음)을 수행하고 12 시간 25 분 동안 marksweep 압축 (145,940 모음)을 수행했습니다.
이것은 쓰레기 수거에 많은 시간을 소비하는 것처럼 보입니다. 이전에 누군가가 이와 같은 것을 들여다 보았는지 궁금합니다. 정상인지 아닌지 알고 있습니까?
편집
지역 처리는 예를 들어 내가 그 다음 문자열로 추가 XPath를 사용하여 SOAP 봉투에서 일부 XML을 추출 5 초 걸렸 로그의 한 부분에서 찾고, 느린 것 같다 루트 태그와 함께 버퍼 .. 그게 전부입니다. 나는 프로덕션 환경에서 실행 중이므로 아직 프로파일을 작성하지 않은 상태에서 데이터를 인터넷을 통해 가져 오거나 개발 환경에서 대규모 테스트 기반을 설정해야 할 필요가 있습니다.
자바 핫스팟 클라이언트 VM 버전 10.0-B23
실행정말 그냥 것 이제까지 기본값이 어떻게 될지 실행, 특정 가비지 컬렉션 매개 변수를 구성하지 않은, 높은 처리량이 필요합니다. 사용중인 수집가를 찾는 방법을 모르십니까?
수정
종료까지 거기에가는 프로파일 러를 받고, 지속적으로 꽤 심하게 이루어졌다 로깅 문을 출력하는 상태 상자 오프 라인 트리밍 된 일부 코드가 있었다 느린 다운의 원인을 밝혀졌다. 쓰레기 수거는 실제 원인보다는 상태 텍스트를 메모리에 계속 복사하는 것으로부터의 증상이었습니다.
건배 얘들 아.
판사가 주문한 것은 무엇입니까? – ZenMaster
* (질문에 대한 대답이 아니므로 주석이 없음) * ... * "한 번에 많은 수의 응용 프로그램을 처리하므로 한 번에 며칠 동안 실행해야합니다."* ... [sic ] 처음부터 모든 것을 시작하지 않고도 응용 프로그램을 종료하고 다시 시작할 수 없습니다. – TacticalCoder
글쎄, 만약 당신이 그것을 중지하면, 그것은로드 할 수 있고 다시 실행할 수있는 아카이브 실패한 응용 프로그램과 함께 남아있는 목록을 저장합니다. 우리의 보관 계획을 더 작은 배치로 나누기 위해 며칠 안에이 일을 빠르게 할 수 없다면 그것은 우리의 계획입니다. – Dan675