2010-02-09 4 views
0

Weblogic 11g 프로덕션 시스템에서 성능 문제가 있습니다.스레드를 메모리 사용량에 매핑하는 도구는 무엇입니까?

디버깅 노력의 일환으로 스레드를 메모리 사용량에 매핑 한 다음 응용 프로그램의 어느 부분이 너무 많이 사용하는지 결정하기 위해 스택을 찾는 방법을 찾는 데 관심이 있습니다.

누구든지 내가하고 싶은 일을하는 도구 또는 방법을 알고 있습니까?

너무 많은 오버 헤드 (모든 스냅 샷 찍기)가 필요하므로 JProbe 메모리 프로파일 링에 관심이 없습니다. 또한 유망한 NetBeans의 Heapwalker에 대해 읽었습니다.

+0

나는 "스레드 당 메모리 사용량"도 자바에서 의미있는 용어라고 생각하지 않는다. – skaffman

답변

2

Eclipse에는 mat - http://eclipse.org/mat/이라고하는 메모리 분석기 (또는 heap walker)가 있습니다.

나는 과거에 그것을 사용했고 꽤 도움이되었습니다. 나는 모든 기능을 사용하지 못했지만, "무거운"스레드를 식별하고, 가장 큰 객체를 쿼리하는 등의 작업을 수행 할 수 있음을 기억합니다.

홈 페이지는 유용한 튜토리얼과 블로그로 연결됩니다.

+0

감사합니다. 이것은 좋은 정보이고 나에게 유용하다. 하지만 난 프로덕션 환경에서 배포/사용할 수있는 도구를 찾고 현재 배포 된 시스템에서이 작업을 수행 할 수 있어야합니다. – BestPractices

+0

실행중인 Java 프로세스의 힙 덤프 (예 : jmap)를 얻은 다음 힙 덤프를 eclipse + mat이있는 곳으로 복사 할 수 있습니다. 그게 내가 한거야. – Yoni

관련 문제