.hprof 파일을 분석하려면 어떻게 해야 하나요?
운영 서버가 다음 플래그를 사용하여 실행되고 있습니다. -XX:+HeapDumpOnOutOfMemoryError
어젯밤 서버에 힙에러가 발생했을 때 java-38942.hprof 파일이 생성되었습니다.이 시스템의 개발자들은 국기에 대해 알고 있었지만 그것으로부터 유용한 정보를 얻을 수 있는 방법은 없었던 것으로 밝혀졌다.
좋은 생각 있어요?
상당히 고도의 툴을 사용하여 문제를 해결하려면 SAP에서 제공하는 Eclipse의 Memory Analyzer 프로젝트를 참조하십시오.
메모리 내의 오브젝트에 대해 제한된 SQL(OQL)을 실행하는 등 메모리 누수 검출에 매우 도움이 되는 것도 있습니다.
toString(firstName) FROM을 선택합니다.귀사에 문의하시기 바랍니다.패키지가 있어요.사용자
정말 훌륭해.
JDK와 함께 기본적으로 제공되는 Java 힙 분석 도구인 JHAT를 사용할 수 있습니다.명령줄이지만 메모리 검사에 사용하는 웹 서버/브라우저를 시작합니다.가장 사용하기 쉬운 것은 아니지만, 적어도 여러분이 갈 대부분의 장소에는 이미 설치되어 있습니다.가장 아래에 있는 "히프 히스토그램" 링크가 매우 유용합니다.
예:jhat -port 7401 -J-Xmx4G dump.hprof
jhat
"요즘"도 OQL을 실행할 수 있습니다(아래 링크 "Execute OQL").
Netbeans Profiler 또는 Visual VM 독립 실행형 도구에서 HeapWalker를 사용할 수도 있습니다.Visual VM은 독립형이기 때문에 JHAT의 좋은 대안이지만 JHAT보다 훨씬 사용하기 쉽습니다.
Visual VM을 완전히 사용하려면 Java 6+가 필요합니다.
이클립스 메모리 아나라이저만 가져오면 돼.밖에 더 좋은 것은 없고 무료입니다.
JHAT는 "장난감 애플리케이션"에서만 사용 가능
저는 개인적으로 Visual VM을 선호합니다.VisualVM에서 마음에 드는 기능 중 하나는 힙 덤프 비교입니다.힙 덤프 분석을 수행할 때 크래시의 원인을 파악하는 방법은 다양합니다.유용한 방법 중 하나는 정상 힙 덤프와 비정상 힙 덤프를 비교하는 것입니다.
다음에, 그 순서를 나타냅니다.
- Out Of Memory Error 힙 덤프를 가져오면 "oome.hprof"라고 부릅니다.이는 JVM 매개 변수 HeapDumpOnOutOfMemoryError를 통해 얻을 수 있습니다.
- 애플리케이션을 재기동합니다.어플리케이션에 따라서는, 몇분간(분/시간) 실행됩니다.응용 프로그램이 실행 중일 때 다른 힙 덤프를 가져옵니다."healthy.hprof"라고 부르자.
- 이러한 두 덤프를 VisualVM에서 열고 힙 덤프를 비교할 수 있습니다.클래스 레벨 또는 패키지 레벨로 실행할 수 있습니다.이를 통해 문제의 방향을 파악할 수 있는 경우가 많습니다.
링크 : https://visualvm.github.io
yourKit Java Profiler도 이러한 문제를 처리하는 것 같습니다.
힙덤프를 커스텀 분석하려면 다음과 같이 하십시오.
- JVM 힙 덤프 분석 라이브러리 https://github.com/aragozin/heaplib/tree/master/hprof-heap
이 라이브러리는 빠르지만 분석 코드를 Java로 작성해야 합니다.
문서에서:
- 디스크에 힙 덤프를 처리할 임시 파일을 생성하지 않습니다.
- GZ 압축 힙 덤프를 직접 사용할 수 있습니다.
- HeapPath 표기법
언급URL : https://stackoverflow.com/questions/185893/how-do-i-analyze-a-hprof-file
'source' 카테고리의 다른 글
잭슨 주석을 사용하여 중첩된 값을 속성에 매핑하려면 어떻게 해야 합니까? (0) | 2022.09.15 |
---|---|
데이터베이스 수준에서 쿼리를 통해 직렬화 해제 (0) | 2022.09.15 |
정수를 수천 개의 쉼표로 문자열로 변환 (0) | 2022.09.15 |
sql 키워드 'like'를 사용하여 암호화된 데이터를 검색하는 방법 (0) | 2022.09.15 |
웹 브라우저에 푸시 알림을 보내는 방법 (0) | 2022.09.15 |