2013-05-09 12 views
2

나는 HPROF이 명령을 사용하여 힙 덤프 파일을 만든 :jvisualvm :에 붙어 "로드 힙 덤프"화면

java -agentlib:hprof -cp "..\..\jars\trove.jar;.\bin" com.mysite.MyApp 

이 성공적으로 5메가바이트에 대해 한 파일 "java.hprof.txt"를 만들었습니다. 그런 다음 jvisualvm을 열어이 파일을보고로드했습니다. 그러나 visualvm이 로딩 화면에서 멈추는 것처럼 보입니다. 아래의 화면은 약 10 분 동안 올라갔습니다.

단계가 빠졌습니까? hprof 명령 줄에서 다른 옵션을 사용해야합니까? 이 힙 덤프 파일을 읽으려면 어떻게해야합니까? VisualVM과 힙을 지원

visualvm screenshot

답변

2

이진 HPROF 형식으로 덤프합니다. VisualVM을 사용하여 힙 덤프를 만드는 것이 더 쉽습니다. VisualVM을 사용할 수없는 경우 jmap -dump:live,format=b,file=heap.bin <pid>을 사용할 수 있습니다. 장점은 특별한 시작 인수가 필요없고 hprof 에이전트 라이브러리로 인한 속도 저하가 없다는 것입니다.

0

내 경우에는 heapdump 파일의 파일 권한을 변경하여이 문제를 해결했습니다. VisualVM은 파일을로드하려고했으나 VisualVM이 덤프 파일을 생성했기 때문에 권한이 거부되었습니다 (VisualVM은 덤프 파일을 생성했기 때문에 이상합니다). 그러나 VisualVM은 오류 메시지를 표시하지 않습니다. 이클립스 메모리 분석기 (https://www.eclipse.org/mat/downloads.php)를 다운로드했습니다. 그것은 나에게 오류 메시지를 준다.