Java VM Core Dump 분석 대부분의 문제 발생 원인(리스트는 우선 순위가 아닙니다.) 1. 해당 어플리케이션이 사용하는 Native 코드 사용시 발생 2. 모든 Type 2 JDBC 드라이버는 native DBMS 라이브러리를 사용하므로 이러한 유형의 오류가 발생할 수 있습니다. 이 드라이버가 문제의 원인인지 판별하려면 pure java(Type 4) JDBC .. 오래된글/Articles 2018.04.19
Java Memory Model Java Memory Model JVM(Java Virtual Machine) Machine이라는 말이 들어가 있지만 실제로는 Software. Machine이라는 말이 들어간 이유는 JVM이 실제적으로 CPU와 같은 역할을 하기 때문이다. Program은 CPU 위에서 돌아간다. C나 C++과 같은 프로그램 에서 Compile된 코드(native code)는 CPU에서 바로 실행이 가능하다. 하.. 오래된글/Articles 2018.04.19
JAVA 5.0 가비지 콜렉터 추가 옵션 JAVA 5.0 가비지 콜렉터 추가 옵션 throughput generationacollector 여러 개의 CPU를 사용하여 멀티 쓰레드를 구동한다. 구동옵션 -XX:+UseParallelGC : 병렬 가비지 콜렉션 사용(JDK 1.4.0 이후) -XX:ParallelGCThreads=n : 병렬 가비지 콜렉션에 사용될 쓰레드 수 지정 추가옵션 -XX:AdaptiveSizeDecrementScaleFactor=VALUE : adapti.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 2 VM의 구조와 튜닝 - 3 PLT 2.4 GC 관련 파라미터 전체 Heap Size 조정 옵션 “-Xms: 초기 Heap 사이즈, –Xmx: 최대 Heap 사이즈” 예) –Xms512m –Xmx1024m 메모리 변화량이 큰 어플리케이션이 아니라면 이 min heap size와 max heap size는 동일하게 설정하는 것이 좋다. 일반적으로 IGB까지의 Heap을 설정하는 데에는 문제가 없으나, IGB.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 2 VM의 구조와 튜닝 - 2 PLT 2.3 GC 로그 수집과 분석 HP Unix 경우에는-Xverbosegc 옵션이 있지만 여기서는 자바 표준 옵션인 –verbosegc 을 이용한 로그 수집과 분석에 관하여 알아보겠다. 다음은 –verbosegc 옵션을 주었을 때 생성되는 Minor GC, Full GC 로그이다. 하지만 GC로그는 다른 어플리케이션의 Stdout내용과 같이 출력되.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 2 VM의 구조와 튜닝 -1 Chapter 2 VM의 구조와 튜닝 PLT 2.1 JAVA 메모리 영역 구조 Sun Microsystems의 자바 HotSpot VM은 힙을 3개의 영역으로 나누고 있다. 1. Permanent space : JVM 클래스와 메소드 개체를 위해 쓰인다. 2. Old object space : 만들어진지 좀 된 개체들을 위해 쓰인다. 3. New(young) object space : 새로 생성된 개체들을 위해 쓰.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 1 Performance - 2 / HAT HAT(The Heap Analysis Tool) HAT은 java의 비표준 옵션인 –Xrunhprof 로 분석된 바이너리 형태의 데이터를 분석하여 웹브라우져로 보여주는 기능을 가진다. HAT의 설치와 실행 1. https://hat.dev.java.net/ 에서 HAT의 최신 버전을 다운 받는다. 2. 다운받은 파일을 압축을 풀고 [HAT_HOME]bin 디렉토리를 PATH에 추.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 1 Performance - 2 / -Xrunprof 옵션 -Xrunprof 옵션 이 옵션은 단순히 텍스트 형태로 쓰레드 정보와 메소드 호출 점유율, 호출 횟수, 호출 쓰레드 번호등을 보여준다. 이 옵션은 어플리케이션의 성능 측정에서 병목점을 찾을 때 많이 사용한다. 병목점은 찾는 방법은 점유율(%)가 높으면서, 호출 횟수는 작은 순서가 병목점의 순.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 1 Performance - 2 / JVMPI PLT 1.2 분석 도구 JVMPI(Java Virtual Machine Profier Interface) JVMPI 는 C로 된 API이고, Native 방식으로 만들어서 VM 시작시에 지정해주면 Native로 만들어진 부분으로 이벤트가 전달 되도록 되어있는 구조이다. J2SDK을 설치 했다면 “[JAVA_HOME]incluedjvmpi.h” C 해더파일을 찾을 수 있다. SUN에서는 다음과 같은.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 1 Performance - 2 / -Xverbosegc(HP 머신) -Xverbosegc(HP 머신) -Xverbosegc라는 옵션을 이용하여, 다양한 방법으로 java process의 memory activity를 기록 할 수 있습니다. 이 옵션은 garbage collection이 발생되는 동안의 java heap information에 대한 정보를 출력해 주는 옵션입니다. 이 옵션은 HP JDK에만 포함되어 있습니다. Java –Xverbosegc:help 을 입력하.. 오래된글/Articles 2018.04.19
VM 분석 : Chapter 1 Performance - 1 Chapter 1 Performance PLT 1.1 최적화 방책 1. 병목현상의 주요인을 찾는다. 2. 가장 수정하기 쉬운 문제점을 먼저 다룬다. 병목점 발견 방법 - 분석기, 벤치마크 도구, 측정용 코드 등을 사용하여 성능을 측정한다. - 병목점의 위치를 찾아낸다. - 병목현상이 생기는 원인을 추측한다. - 추측이 틀린 .. 오래된글/Articles 2018.04.19
Java HotSpot VM Options Java HotSpot VM Options -X 옵션은 비표준옵션이다. “모든 VM에서 지원을 보장 하지 않는다” 뜻입니다. 향후 릴리즈에서는 언급없이 변결될수 있습니다. -XX 옵션은 올바른 동작을 위해서는 특정한 시스템 요구사항이 필요하며 시스템 설정 파라미터에 접근할 권항ㄴ이 있어야 합니다. 임의의 .. 오래된글/Java 2018.04.07