====== Java Memory Analyzer(MAT) ====== * [[http://www.eclipse.org/mat/|Eclipse Memory Analyzer]] * 힙 덤프 파일의 크기가 너무 크기 때문에 ''MemoryAnalyzer.ini'' 파일을 열어 ''-Xmx2048m'' 등으로 메모리 용량을 늘려준다. * [[http://eclipsesource.com/blogs/2013/01/21/10-tips-for-using-the-eclipse-memory-analyzer/|10 Tips for using the Eclipse Memory Analyzer]] * [[http://www.vogella.com/tutorials/EclipseMemoryAnalyzer/article.html|Eclipse Memory Analyzer Tutorial]] * [[http://java.jiderhamn.se/2011/12/11/classloader-leaks-i-how-to-find-classloader-leaks-with-eclipse-memory-analyser-mat/|Classloader leaks I – How to find classloader leaks with Eclipse Memory Analyser (MAT)]] ===== Workspace 지정 ===== * 기본 워크스페이스가 자동으로 ''$HOME/workspace''로 생성되어 버린다. * Menu 항목에서 ''-data your_workspace_location''으로 시작 워크스페이스 디렉토리를 명시적으로 지정해준다. ===== ParseHeapDump.sh ===== * ''ParseHeapDump.sh [heapdump file]''을 통해 GUI 없이 Heapdump 파싱을 하고 결과를 저장할 수 있다. 파싱할 때 필요한 메모리를 절약할 수 있을 듯. * 파싱 후에 MAT GUI를 열어서 확인해본다. ===== Linux에서 crash ===== * [[http://askubuntu.com/questions/396525/eclipse-crashing-on-startup|Eclipse crashing on startup - Ask Ubuntu]] Problematic frame: C [libsoup-2.4.so.1+0x6ac91] soup_session_feature_detach+0x11 * SWT 최신 버전을 사용한 Eclipse로 버전업(4.3이상)하거나 ''-Dorg.eclipse.swt.browser.DefaultType=mozilla'' 옵션을 주고 실행한다. ===== 참조 ===== * [[https://dzone.com/articles/eclipse-mat-shallow-heap-retained-heap|Eclipse MAT: Shallow Heap Vs. Retained Heap - DZone Java]] * [[https://dzone.com/articles/eclipse-mat-tidbits|Eclipse MAT: Tidbits - DZone Java]] * [[https://www.samsungsds.com/kr/insights/1232762_4627.html|[Java Memory Profiling에 대하여] 2. 메모리 모니터링과 원인 분석]] * [[https://hyperconnect.github.io/2022/10/07/troubleshoot-webclient-oom.html|Spring WebClient에서 새어나가는 메모리 잡기 | Hyperconnect Tech Blog]]