자바 메모리 설정 수정

트래픽 및 처리 요구사항에 따라 힙 메모리를 변경해야 할 수도 있습니다. Java 기반 프라이빗 클라우드를 실행하는 노드의 크기 또는 클래스 메타데이터 크기 구성할 수 있습니다.

이 섹션에서는 기본 및 권장 Java 힙 메모리 크기와 기본값을 변경하는 프로세스입니다. 마지막으로 이 섹션에서는 속성 파일을 사용한 JVM 설정

기본 및 권장 힙 메모리 크기

다음 표에는 Java 기반 메모리에 대한 기본 및 권장 Java 힙 메모리 크기가 프라이빗 클라우드 구성요소:

구성요소 속성 파일 이름 기본
힙 크기
권장
힙 크기
런타임
Cassandra 해당 사항 없음 자동 구성1 자동 구성1
메시지 프로세서 message-processor.properties 512MB 3GB~6GB2
라우터 router.properties 512MB 512MB
애널리틱스
Postgres 서버 postgres-server.properties 512MB 512MB
Qpid 서버 qpid-server.properties 512MB 2GB~4GB
관리
관리 서버 management-server.properties 512MB 512MB
UI ui.properties 512MB 512MB
OpenLDAP 해당 사항 없음 네이티브 앱3 네이티브 앱3
Zookeeper zookeeper.properties 2,048MB 2,048MB
참고

1 Cassandra는 단일 힙 크기인 경우 시작됩니다 현재 이 메모리는 총 시스템 메모리의 절반이며 최대 8,192MB입니다. 힙 크기 설정에 관한 자세한 내용은 힙 변경 메모리 크기를 참조하세요.

2 메시지 프로세서의 경우 Apigee에서 힙을 설정하는 것이 좋습니다. 3GB에서 6GB 사이로 설정할 수 있습니다. 작업을 수행한 후에만 힙 크기를 6GB 이상으로 늘립니다. 성능을 테스트할 수 있습니다

성능 테스트 중에 힙 사용량이 최대 한도에 가까워지면 최대 한도입니다. 힙 크기 설정에 관한 자세한 내용은 힙 메모리 크기를 변경합니다.

3 모든 Private Cloud 구성요소가 자바로 구현되는 것은 아닙니다. 왜냐하면 Java 기반이 아니므로 호스트 플랫폼에서 기본적으로 실행되는 앱에는 구성 가능한 Java 힙 크기 대신 호스트 시스템에 의존하여 관리할 수 있습니다

Apigee에서 Java 기반 인스턴스에 할당하도록 권장하는 총 메모리 양을 확인하기 위해 구성요소를 추가하려면 해당 노드의 각 구성요소에 대해 위에 나열된 값을 추가합니다. 예를 들어 노드가 Postgres와 Qpid 서버를 모두 호스팅하는 경우 Apigee는 결합된 메모리를 2.5GB에서 4.5GB 사이로 할당할 수 있습니다.

필수 하드웨어 (예: RAM) 목록은 다음을 참조하세요. 설치 요구사항.

힙 메모리 크기 변경

힙 메모리 설정을 변경하려면 구성요소의 속성 파일을 편집합니다. 예를 들어 메시지 프로세서의 경우 /opt/apigee/customer/application/message-processor.properties 파일.

message-processor.properties 파일이 존재하지 않거나 Edge 구성요소의 해당 .properties 파일이 없는 경우 없으면 파일을 만든 후 파일의 소유권을 'Apigee'로 변경하세요. 사용자에게 예시:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
드림

구성요소가 메시지 프로세서와 같은 여러 시스템에 설치된 경우에는 구성 요소를 호스팅하는 모든 시스템에서 속성 파일을 편집해야 합니다.

다음 표에는 힙 크기를 변경하기 위해 수정하는 속성이 나열되어 있습니다.

속성 설명
bin_setenv_min_mem

최소 힙 크기. 기본값은 기본 및 권장 힙 메모리 크기

이 설정은 Java -Xms 옵션에 해당합니다.

bin_setenv_max_mem

최대 힙 크기입니다. 기본값은 기본 및 권장 힙 메모리 크기

이 설정은 Java -Xmx 옵션에 해당합니다.

bin_setenv_meta_space_size

기본 클래스 메타데이터 크기입니다. 기본값은 bin_setenv_max_permsize, 기본값은 128MB입니다. 메시지 프로세서에서 Apigee에서는 애플리케이션에 따라 이 값을 256MB 또는 512MB로 설정하는 것이 좋습니다. 할 수 있습니다.

이 설정은 Java -XX:MetaspaceSize 옵션에 해당합니다.

노드에서 힙 크기 속성을 설정할 때는 'm' 는 메가바이트를 나타내는 접미사입니다. 다음 예는 다음과 같습니다.

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

속성 파일에서 값을 설정한 후 구성요소를 다시 시작합니다.

/opt/apigee/apigee-service/bin/apigee-service component restart

예를 들면 다음과 같습니다.

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

다른 JVM 속성 변경

위에 나열된 속성으로 제어되지 않는 Java 설정의 경우 Edge 구성요소의 해당 속성 파일에 다음을 입력합니다.

  • bin_setenv_ext_jvm_opts: Java를 설정합니다. 속성이 다른 속성에 의해 지정되지 않았습니다. 예를 들면 다음과 같습니다.
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    하지만 다음과 같은 용도로 bin_setenv_ext_jvm_opts를 사용하지는 마세요. -Xms, -Xmx 또는 -XX:MetaspaceSize를 다음과 같이 설정합니다. 위에 나열된 속성으로 제어됩니다.

프라이빗 클라우드 구성요소의 메모리 구성에 대한 추가 팁은 이 Edge 포럼의 도움말을 참고하세요.