2012-05-31 2 views
1

매우 큰 응용 프로그램 인 내 웹 응용 프로그램의 프로파일 링을 시도하고 있으며 캐시 및 기타 프로세스에서 많은 메모리를 사용하므로 힙 덤프를 취한 다음 분석하거나 심지어 JProfiler를 통해 분석하려고 시도하고 있는데, 매우 느리게 작동합니다. 내가 그렇게 쉽게 할 수있는 방법이 있나. 내 응용 프로그램은 거의 120GB RAM 중 30GB를 차지합니다.대용량 응용 프로그램을 수행 할 때 프로파일 링이 어려움

나는 힙의 다른 부분에 다른 양의 메모리를 할당 할 수 있다고 읽었습니다. 우리는 우리의 적용에서 그러한 일을하지 않았습니다. 우리는 방금 -xmx -110g를주었습니다. 즉 Max RAM에 110GB를 제공했습니다. 오래된 세대, 에덴 공간, 생존자 공간과 같은 다른 블록에 할당되는 메모리 용량을 확인할 수 있습니까?

+1

[* 여기 방법 *] (http://stackoverflow.com/a/317160/23771)을 시도해보십시오. 그것은 낮은 기술이지만 효과적입니다. –

답변

1

30GB를 사용하는 시스템을 프로파일 링하는 것은 어려운 일입니다. 프로파일 링은 상당량의 정보를 수집하므로 더 많은 오버 헤드가 발생합니다.

앞으로 가장 좋은 방법은 애플리케이션을 모듈로 분해하는 것입니다. 모듈화 된 애플리케이션을 만들었습니까? 그런 다음 샘플 데이터를 사용하여 자체적으로 각 모듈을 프로파일 링 할 수 있습니다. 그렇게하면 오버 헤드와 소비되는 메모리의 양을 제한 할 수 있습니다.

일부 성능 조정 팁은 http://java.dzone.com/articles/java-performance-tuning?page=0,1을 참조하십시오. 다른 메모리 사용 레벨을 설정할 수 있습니다.

관련 문제