이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
도서 목차“JVM Internal 파헤치기”1. JVM 메모리 구조 1.1 JVM이란? ㆍㆍㆍㆍㆍㆍㆍ 16 1.2 Java Heap ㆍㆍㆍㆍㆍㆍㆍ 19 1) Hotspot JVM의 Heap 구조 2) IBM JVM의 Heap 구조2. Garbage Collection 2.1 GC 소개 ㆍㆍㆍㆍㆍㆍㆍ 25 1) GC 개요 2) GC로 인한 문제점 3) Root Set과 Garbage 4) Garbage Collection 목적 2.2 Hotspot JVM의 Garbage Collection ㆍㆍㆍㆍㆍㆍㆍ 29 1) 개요 2) GC 대상 및 범위 3) GC 관련 옵션들 4) Garbage Collector 종류 2.3 IBM JVM의 Garbage Collection ㆍㆍㆍㆍㆍㆍㆍ 53 1) Garbage Collection 단계 2) Garbage Collector 종류 3) IBM JVM 환경의 Memory Leak 유형 4) 결론 2.4 GC 튜닝 ㆍㆍㆍㆍㆍㆍㆍ 69 1) GC 튜닝 필요성 2) GC 튜닝 목적 3) Object 수 최소화의 중요성(Between Eden and Old Area) 4) Full GC Time 줄이기 5) GC의 성능을 결정하는 옵션 6) GC 튜닝 과정 7) 일반적으로 GC 튜닝이 불필요 한 상황 8) GC 방식 선택 9) Memory 크기와 GC 상관 관계 2.5 GC 성능 테스트 ㆍㆍㆍㆍㆍㆍㆍ 74 1) 개요 2) Case 1 3) Case 2 / Case 2-1 4) Case 3 5) Case 4 6) 결론 2.6 GC 관련 장애 발생 유형(OOME) 및 분석 방법 ㆍㆍㆍㆍㆍㆍㆍ 91 1) OOME의 종류 2) OOME 발생 원인 및 해결 방법 3) OOME 분석 툴3. JVM Sychronization이란? 3.1 개요 ㆍㆍㆍㆍㆍㆍㆍ 94 1) Java 그리고 Thread 2) Thread 동기화 3) Mutual Exclusion과 Critical Section 4) Monitor 3.2 Java의 동기화(Synchronization) 방법 ㆍㆍㆍㆍㆍㆍㆍ 96 1) Synchronized Statement 2) synchronized Method 3) Wait And Notify 4) synchronized Statement와 synchronized Method 사용 3.3 Thread 상태 ㆍㆍㆍㆍㆍㆍㆍ 101 3.4 Thread의 종류 ㆍㆍㆍㆍㆍㆍㆍ 102 3.5 JVM에서의 대기 현상 분석 ㆍㆍㆍㆍㆍㆍㆍ 102 3.6 Thread Dump 104 3.7 Case별 synchronized에 대한 Thread Dump 분석 ㆍㆍㆍㆍㆍㆍㆍ 105 1) 동기화 방식별 소스 코드 2) Hot Spot JVM 실행 분석 3) IBM JVM 실행 분석 3.8 Thread Dump를 통한 Thread 동기화 문제 해결의 실 사례 ㆍㆍㆍㆍㆍㆍㆍ 113“도구(Tool)를 이용한 성능분석” 1. Java 성능분석 도구 개요 1.1 JDK 내장 성능분석 도구 ㆍㆍㆍㆍㆍㆍㆍ 118 1.2 3rd Party 성능분석 도구 ㆍㆍㆍㆍㆍㆍㆍ 1202. JVM Thread, 메모리 정보 2.1 Thread Dump와 Stack Trace 정보 ㆍㆍㆍㆍㆍㆍㆍ 123 2.2 Heap 메모리 구조 ㆍㆍㆍㆍㆍㆍㆍ 124 2.3 Heap Dump 정보 ㆍㆍㆍㆍㆍㆍㆍ 126 2.4 객체 참조, GC와 메모리 누수 ㆍㆍㆍㆍㆍㆍㆍ 1283. jcmd 3.1 jcmd를 이용하여 Java 프로세스 정보 확인하기 ㆍㆍㆍㆍㆍㆍㆍ 129 3.2 Java Flight Recording 기능 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 134 3.3 GC 메모리 분석 기능 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 146 3.4 Management Agent(JMX) 기능 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 149 3.5 jcmd 도구 vs 다른 도구 비교 ㆍㆍㆍㆍㆍㆍㆍ 1524. Java Mission Control 도구의 활용 4.1 실시간 모니터링 ㆍㆍㆍㆍㆍㆍㆍ 154 4.2 Java Flight Recorder 레코딩하기 ㆍㆍㆍㆍㆍㆍㆍ 161 4.3 General 정보 ㆍㆍㆍㆍㆍㆍㆍ 164 4.4 Memory 정보 ㆍㆍㆍㆍㆍㆍㆍ 168 4.5 Code 정보 ㆍㆍㆍㆍㆍㆍㆍ 176 4.6 Threads 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 177 4.7 IO 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 181 4.8 System 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 182 4.9 Events 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 1845. JConsole ㆍㆍㆍㆍㆍㆍㆍ 1886. VisualVM 6.1 Monitor 탭 ㆍㆍㆍㆍㆍㆍㆍ 195 6.2 Heap Dump 내용 보기 ㆍㆍㆍㆍㆍㆍㆍ 195 6.3 Threads 탭 ㆍㆍㆍㆍㆍㆍㆍ 197 6.4 Profiler 수행하기 ㆍㆍㆍㆍㆍㆍㆍ 200 6.5 Sampler 수행하기 ㆍㆍㆍㆍㆍㆍㆍ 201 6.6 MBeans Plugin으로 JMX 모니터링하기 ㆍㆍㆍㆍㆍㆍㆍ 202 6.7 Visual GC Plugin 기능 덧입기 ㆍㆍㆍㆍㆍㆍㆍ 205 6.8 JConsole Plugin기능을 VisualVM에서 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 2067. Eclipse Memory Analyzer (MAT) 7.1 MAT 설치하기 ㆍㆍㆍㆍㆍㆍㆍ 209 7.2 HeapDump 분석 방법 ㆍㆍㆍㆍㆍㆍㆍ 212 7.3 HeapDump 파일 열기 ㆍㆍㆍㆍㆍㆍㆍ 214 7.4 객체 참조관계 분석 ㆍㆍㆍㆍㆍㆍㆍ 215 7.5 ClassLoader 누수 분석 (PermGen이슈) ㆍㆍㆍㆍㆍㆍㆍ 224 7.6 객체를 사용하는 Thread 분석 ㆍㆍㆍㆍㆍㆍㆍ 224 7.7 Collection 분석 ㆍㆍㆍㆍㆍㆍㆍ 225 7.8 Dominator Tree 분석 ㆍㆍㆍㆍㆍㆍㆍ 227 7.9 Leak Suspects 분석 ㆍㆍㆍㆍㆍㆍㆍ 229 7.10 Heap Dump 파일 비교 분석 ㆍㆍㆍㆍㆍㆍㆍ 2378. IBM HeapAnalyzer 8.1 IBM HeapAnalyzer 사용되는 용어 정의 ㆍㆍㆍㆍㆍㆍㆍ 241 8.2 Summary ㆍㆍㆍㆍㆍㆍㆍ 242 8.3 Leak Suspect ㆍㆍㆍㆍㆍㆍㆍ 243 8.4 Object List ㆍㆍㆍㆍㆍㆍㆍ 247 8.5 Type List ㆍㆍㆍㆍㆍㆍㆍ 248 8.6 Root List / Root Type List ㆍㆍㆍㆍㆍㆍㆍ 249 8.7 Gaps by Size/ Gap Statistics ㆍㆍㆍㆍㆍㆍㆍ 2509. Java Thread Dump Analyzer(TDA) 9.1 TDA 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 253 9.2 TDA를 이용한 분석 ㆍㆍㆍㆍㆍㆍㆍ 25610. 성능분석 도구들 비교 ㆍㆍㆍㆍㆍㆍㆍ 261“APM(InterMax) 활용 성능 분석 사례”1. InterMax란 무엇인가? 1.1 실시간 모니터링 ㆍㆍㆍㆍㆍㆍㆍ 264 1.2 사후 분석 ㆍㆍㆍㆍㆍㆍㆍ 272 1.3 트랜잭션 조회 ㆍㆍㆍㆍㆍㆍㆍ 2782. 성능 분석 사례 2.1 과도한 SQL Fetch에 의한 OOME 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 283 2.2 Full GC 수행에 따른 애플리케이션 수행 지연 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 287 2.3 특정 오브젝트의 메모리 과다 사용으로 인한 OOME 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 291 2.4 소켓 타임아웃에 의한 서비스 지연 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 294 2.5 Exception이 발생하며 서비스 수행에 실패하는 사례 ㆍㆍㆍㆍㆍㆍㆍ 298 2.6 SQL 수행 지연에 따른 애플리케이션 지연 현상 분석 사례 ㆍㆍㆍㆍㆍㆍㆍ 300 2.7 DB Lock에 의한 애플리케이션 지연 현상 분석 사례 ㆍㆍㆍㆍㆍㆍㆍ 304
|
|
[도서 특징]- JVM에 대한 상세 분석과 다양한 옵션들에 대한 정리를 일목 요연하게 설명하고 있습니다.- 실 고객사 성능 지연 사례를 통하여 분석하는 방법론을 제시하고 있습니다.- 추가적인 내용은 엑셈 아카데미 온라인 사이트에서 질문을 상세히 답변해드립니다.웹 애플리케이션 Developer, WAS 시스템을 관리/운영하는 System Engineer, Performance Tunner 등 JVM 내부 구조를 명확히 이해하고 다양한 성능 옵션들을 유용하게 사용할 수 있도록 가이드 및 최적화 적용 방안 등을 제시하고 있다. 특히 실무 경험을 바탕으로 웹 애플리케이션 환경에서의 성능을 최적화 하고 튜닝할 수 있는 다양한 성능 분석 툴들과 각 툴들의 특징을 잘 분석/제시하고 있어 필요한 요소와 기능에 따라 원하는 방법론으로 빨리 접근할 수 있는 지침이 될 수 있을 것 같다. JAVA 성능 튜닝에 관심이 있거나 성능 진단 컨설턴트들에겐 큰 도움이 될 것이라 자부한다. [대상 독자]- 웹 애플리케이션 개발자(JAVA, WAS 등 환경)- WAS 시스템을 관리하는 IT 운영자(WAS Middleware 운영자)- 웹 애플리케이션에 대한 성능 튜닝 및 최적화에 관심 있는 엔지니어 - 다양한 APM 솔루션 등을 통한 고객사 성능 분석 및 진단하는 컨설턴트
|