2016년 12월 22일 목요일

[TALEND] java.lang.OutOfMemoryError 해결 방법

OutOfMemory 원인과 해결 방안

<발생 원인>

  1. Job실행 시, Load & Transform하는 데이터가 메모리 사이즈보다 큰 경우
  2. 처리과정에서 buffer기능을 사용하여 메모리를 많이 사용하는 경우

<해결 방안>

  1. Job을 특정 조건으로 여러개 Job 으로 분리하여 처리
    큰 사이즈의 XML 파일을 처리 중 에러가 발생하면, 여러개 XML로 Split하여 처리
  2. JVM Heap 메모리 사이즈를 늘려서 실행
    JAVA 32bit 인 경우, 최대 Heap 메모리 사이즈가 4GB

[JVM Heap 메모리 사이즈 늘리는 방법]

  1. [프로젝트 단위]로 설정하는 방법(Job의 기본 값)
    1) [Window] -> [Preferences] 클릭
    2) [Talend] -> [Run/Debug] -> [Job Run VM arguments]에서 메모리 설정 변경
  2. [단일 Job 단위]로 설정하는 방법(Job별 별도 설정)
    1) [Run] -> [Advanced settings] 에서 [Use specific JVM arguments] 체크 박스 클릭
    체크가 되어 있지 않으면, 프로젝트 단위에서 설정한 사이즈가 기본 값으로 설정됨
    2) 메모리 사이즈를 변경
    위 화면에서 설정한 옵션 의미
    -Xms1024M : 초기 Heap 메모리를 1GB로 설정
    -Xmx10G : 최대 Heap 메모리를 10GB로 설정(Java가 64bit 일 경우에만)

댓글 없음:

댓글 쓰기

[TALEND] TALEND의 쿼리 질의기 사용 방법

Talend 기본 SQL Builder 사용하기 본 내용은 간단한 TIP이지만, 많은 사람들이 모르는 것 같아 포스팅합니다. TOS에서 흔히 INPUT 컴퍼넌트에서 사용한 쿼리를 별로의 쿼리 툴에서 조회해야하는 경우가 발생합니다. 이럴때 TOS...