JVM(Java Virtual Machine) 설정

이 페이지에서 애플리케이션 서버에 대한 프로세스의 JVM(Java™ Virtual Machine) 구성 설정을 보고 변경할 수 있습니다.

이 관리 콘솔 페이지를 보려면 관리 콘솔에 연결하여 JVM(Java Virtual Machine) 패널을 탐색하십시오.

[z/OS]z/OS 플랫폼의 경우 다음 경로 중 하나를 사용하십시오.
정보
애플리케이션 서버 서버 > 서버 유형 > WebSphere 애플리케이션 서버 > server_name을 클릭하십시오. 그런 다음, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > 제어 > JVM(Java Virtual Machine)을 클릭하십시오.
배치 관리자 시스템 관리 > 배치 관리자를 클릭하십시오. 그런 다음, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > 제어 > JVM(Java Virtual Machine)을 클릭하십시오.
노드 에이전트 시스템 관리 > 노드 에이전트 > node_agent를 클릭하십시오. 그런 다음, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine)을 클릭하십시오.
[AIX Solaris HP-UX Linux Windows][IBM i]IBM i 및 분산 플랫폼의 경우 다음 경로 중 하나를 따르십시오.
정보
애플리케이션 서버 서버 > 서버 유형 > WebSphere 애플리케이션 서버 > server_name. 그런 다음, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine)을 클릭하십시오.
배치 관리자 시스템 관리 > 배치 관리자. 그런 다음, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine)을 클릭하십시오.
노드 에이전트 시스템 관리 > 노드 에이전트 > node_agent. 그런 다음, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine)을 클릭하십시오.

클래스 경로

JVM(Java Virtual Machine) 코드가 클래스를 찾는 표준 클래스 경로를 지정합니다.

이 필드에 클래스 경로를 추가해야 하는 경우, 각 클래스 경로 항목을 개별 테이블 행으로 입력하십시오. 각 항목의 끝에 콜론이나 세미콜론을 추가할 필요가 없습니다.

이 필드에 추가되어야 하는 클래스 경로는 다음 항목의 위치만 지정합니다.
  • 시스템에 대한 검사 또는 모니터링 도구.
  • 이 제품 위에 실행하는 제품에 대한 JAR 파일.
  • JVM 진단 패치 또는 수정사항.
이 필드에 다음 항목의 위치를 지정하는 클래스 경로를 추가하면 처리 오류가 발생할 수 있습니다.
  • 자원 제공자(예: DB2®)에 대한 JAR 파일. 이러한 JAR 파일에 대한 경로는 관련 제공자 클래스 경로에 추가되어야 합니다.
  • 제품에서 실행하는 하나 이상의 애플리케이션에 의해 사용되는 사용자 JAR 파일. 이 유형의 JAR 파일에 대한 경로는 JAR 파일이 필요한 각 애플리케이션 내에서 또는 서버 연관 공유 라이브러리에서 지정되어야 합니다.
  • 확장 JAR 파일. 시스템에 확장 JAR 파일을 추가해야 하는 경우 ws.ext.dirs JVM 사용자 정의 특성을 사용하여 이 JAR 파일에 대한 절대 경로를 지정해야 합니다. WAS_HOME/lib/ext/ 디렉토리에 JAR 파일을 배치할 수 있지만, 확장 JAR 파일에 대한 경로를 지정하는 경우 ws.ext.dirs JVM 사용자 정의 특성을 사용하도록 추천합니다.
정보
데이터 유형 String

부팅 클래스 경로

JVM 코드에 대한 부트스트랩 클래스 및 자원을 지정합니다. 이 옵션은 부트스트랩 클래스 및 자원을 지원하는 JVM에 대해서만 사용 가능합니다.

이 필드에 클래스 경로를 추가해야 하는 경우, 각 클래스 경로 항목을 테이블 행으로 입력하십시오. 각 항목의 끝에 콜론이나 세미콜론을 추가할 필요는 없습니다.

이 필드에 다중 클래스 경로를 추가해야 하는 경우, 노드가 상주하는 운영 체제에 따라 콜론(:) 또는 세미콜론(;) 중 하나를 사용하여 해당 클래스 경로를 구분할 수 있습니다.

이 필드에 추가되어야 하는 클래스 경로는 다음 항목의 위치만 지정합니다.
  • 시스템에 대한 검사 또는 모니터링 도구.
  • 이 제품 위에 실행하는 제품에 대한 JAR 파일.
  • JVM 진단 패치 또는 수정사항.
이 필드에 다음 항목의 위치를 지정하는 클래스 경로를 추가하면 처리 오류가 발생할 수 있습니다.
  • 자원 제공자에 대한 JAR 파일(예: DB2). 이러한 JAR 파일에 대한 경로는 관련 제공자 클래스 경로에 추가되어야 합니다.
  • 제품에서 실행하는 하나 이상의 애플리케이션에 의해 사용되는 사용자 JAR 파일. 이 유형의 JAR 파일에 대한 경로는 JAR 파일이 필요한 각 애플리케이션 내에서 또는 서버 연관 공유 라이브러리에서 지정되어야 합니다.
  • 확장 JAR 파일. 시스템에 확장 JAR 파일을 추가해야 하는 경우 ws.ext.dirs JVM 사용자 정의 특성을 사용하여 이 JAR 파일에 대한 절대 경로를 지정해야 합니다. WAS_HOME/lib/ext/ 디렉토리에 JAR 파일을 배치할 수 있지만, 확장 JAR 파일에 대한 경로를 지정하는 경우 ws.ext.dirs JVM 사용자 정의 특성을 사용하도록 추천합니다.

자세한 클래스 로딩

클래스 로드를 위한 상세한 디버그 출력 사용 여부를 지정합니다. 기본값은 자세한 클래스 로딩을 사용 가능하게 하지 않는 것입니다.

[AIX Solaris HP-UX Linux Windows]자세한 클래스 로딩이 사용 가능하면, 디버그 출력이 기본 프로세스 로그 중 하나로 보내집니다.

정보
데이터 유형 부울
기본값 false

자세한 가비지 콜렉션

가비지 콜렉션에 대한 상세한 디버그 출력 사용 여부를 지정합니다. 기본값은 상세한 가비지 콜렉션을 사용하지 않는 것입니다.

[AIX Solaris HP-UX Linux Windows]자세한 가비지 콜렉션이 사용 가능하면, 디버그 출력이 기본 프로세스 로그 중 하나로 보내집니다.

정보
데이터 유형 부울
기본값 false

이 필드가 사용 가능한 경우 가비지 콜렉터가 실행될 때마다 출력 스트림에 보고서가 기록됩니다. 이 보고서는 자바 가비지 콜렉션 처리 기능 방법을 제공해야 합니다.

판별할 verboseGC 보고서를 확인할 수 있습니다.
  • JVM이 가비지 콜렉션 수행에 소요하는 시간.
    JVM이 가비지 콜렉션 처리 시간의 5퍼센트 미만을 소요하는 것이 좋습니다. 가비지 콜렉션에서 JVM이 소비하는 시간의 백분율을 판별하려면, 콜렉션을 완료하는 데 소요되는 시간을 마지막 SF 이후 시간 길이로 나누고 그 결과에 100을 곱하십시오. 예를 들어 다음과 같습니다.
    83.29/3724.32 * 100 = 2.236 percent

    가비지 콜렉션에서 5%가 넘는 시간이 소요되고 가비지 콜렉션이 자주 발생하는 경우 Java 힙 크기를 늘려야 합니다.

  • 각각의 가비지 콜렉션 발생으로 할당된 힙이 증가하는 경우.

    할당된 힙이 늘어나는지 판별하려면, 각 가비지 콜렉션 주기 이후에 할당되지 않은 상태로 남아있는 힙의 백분율을 살펴보고 백분율이 계속해서 줄어들지 않는지 확인하십시오. 여유 공간의 백분율이 계속 줄어들면 가비지 콜렉션에서 가비지 콜렉션까지 힙 크기가 점차로 증가하는 것입니다. 이 상황은 애플리케이션에 메모리 누수가 있음을 나타낼 수도 있습니다.

[z/OS]z/OS® 플랫폼에서 MVS™ 명령 콘솔, modify display, jvmheap을 실행하여 JVM 힙 정보를 표시할 수도 있습니다. 또한 서버 활동 및 간격 SMF 레코드를 확인할 수 있습니다. 또한 JVM 힙 크기를 PMI에서 사용할 수 있도록 하고 Tivoli® Performance Viewer를 사용하여 모니터할 수도 있습니다.

상세한 JNI

기본 메소드 호출에 대한 상세한 디버그 출력 사용 여부를 지정합니다. 기본값은 상세한 JNI(Java Native Interface) 활동을 사용하지 않는 것입니다.

정보
데이터 유형 부울
기본값 false

초기 힙 크기

JVM 코드에 사용 가능한 초기 힙 크기(MB)를 지정합니다. 이 필드를 공백으로 두면 기본값이 사용됩니다.

[z/OS]z/OS의 경우, 제어기의 기본 초기 힙 크기는 256MB이고 서번트의 기본 초기 힙 크기는 512MB입니다.

[AIX Solaris HP-UX Linux Windows][IBM i]IBM® i 및 분산 플랫폼의 경우, 기본 초기 힙 크기는 50MB입니다.

우수 사례 우수 사례: 이러한 기본값은 대부분의 애플리케이션에 대해 충분합니다.bprac
[IBM i]유의: IBM i의 경우, 초기 힙 크기는 항상 최대 힙 크기보다 작아야 합니다. 초기 힙 크기 및 최대 힙 크기 특성을 같은 값으로 설정하지 마십시오.

이 설정을 늘리면 시작 시간을 줄일 수 있습니다. 가비지 콜렉션 발생 수가 줄어들면서 성능이 10% 향상됩니다.

Java 힙의 크기를 늘리면 힙이 실제 메모리에 상주하기에 너무 커질 때까지 처리량이 계속해서 향상됩니다. 힙 크기가 사용 가능한 실제 메모리를 초과하여 페이징이 발생하면, 현저하게 성능이 떨어집니다.

최대 힙 크기

JVM 코드에 사용 가능한 최대 힙 크기(MB)를 지정합니다. 이 필드를 공백으로 두면 기본값이 사용됩니다.

기본 최대 힙 크기는 최대 4GB인 시스템 메모리 총계의 25%이고, 메모리 크기에 액세스할 수 없는 경우는 JVM의 기본값이 됩니다.

최대 힙 크기 설정을 늘리면 시작 시간을 줄일 수 있습니다. 최대 힙 크기를 늘리면, 성능은 10% 향상되고 가비지 콜렉션 발생 수를 줄입니다.

일반적으로 이 설정을 늘리면 힙이 너무 커서 실제 메모리에 상주하지 못할 때까지 처리량이 계속 향상됩니다. 힙 크기가 사용 가능한 실제 메모리를 초과하여 페이징이 발생하면, 현저하게 성능이 떨어집니다. 따라서 실제 메모리 내에 힙을 포함할 수 있는 값으로 이 특성을 지정해야 합니다.

[z/OS]z/OS의 경우 제어기의 기본 최대 힙 크기는 512MB이고, 서번트의 기본 초기 힙 크기는 1024MB입니다. 페이징을 방지하려면 각 프로세서에 최소 256MB의 실제 메모리와 애플리케이션 서버마다 512MB의 실제 메모리를 허용하는 이 특성의 값을 지정하십시오. 페이징으로 인해 프로세서 활용도가 낮은 경우, 가능하면 최대 힙 크기를 늘리는 대신에 사용 가능한 메모리를 늘리십시오. 최대 힙 크기를 늘리면 성능이 향상되지 않고 떨어질 수도 있습니다.

우수 사례 우수 사례: 대부분의 애플리케이션에서는 기본값을 사용하면 됩니다. 가비지 콜렉션이 너무 자주 발생한다고 판단되면 자세한 가비지 콜렉션 특성을 사용하십시오. 가비지 콜렉션이 너무 자주 발생하는 경우, 최대 JVM 힙 크기를 늘리십시오.bprac
[AIX Solaris HP-UX Linux Windows][IBM i]

HProf 실행

HProf 프로파일러 지원 사용 여부를 지정합니다. 다른 프로파일러를 사용하려면 HProf 인수 설정을 사용하여 사용자 정의 프로파일러 설정을 지정하십시오. 기본값은 HProf 프로파일러 지원을 사용하지 않는 것입니다.

HProf 실행 특성을 true로 설정하는 경우, HProf 인수 특성의 값으로 명령행 프로파일러 인수를 지정해야 합니다.

정보
데이터 유형 부울
기본값 false
[AIX Solaris HP-UX Linux Windows][IBM i]

HProf 인수

애플리케이션 서버 프로세스를 시작하는 JVM 코드로 전달하기 위한 명령행 프로파일러 인수를 지정합니다. HProf 프로파일러 지원이 사용 가능할 때 인수를 지정할 수 있습니다.

HProf 인수는 HProf 실행 특성이 true로 설정된 경우에만 필요합니다.

디버그 모드

디버그 모드의 JVM 실행 여부를 지정합니다. 기본값은 디버그 모드 지원을 사용 가능하게 하지 않는 것입니다.

디버그 모드 특성을 true로 설정하는 경우, 디버그 인수 특성의 값으로 명령행 디버그 인수를 지정해야 합니다.

정보
데이터 유형 부울
기본값 false

디버그 인수

애플리케이션 서버 프로세스를 시작하는 JVM 코드로 전달하기 위한 명령행 디버그 인수를 지정합니다. 디버그 모드 특성이 true로 설정되면 인수를 지정할 수 있습니다.

동일한 노드의 다중 애플리케이션 서버에서 디버깅이 사용 가능한 경우, 주소 인수에 동일한 값이 지정되지 않았는지 확인하십시오. 주소 인수는 디버깅에 사용되는 포트를 정의합니다. 디버깅이 사용 가능한 두 개의 서버가 동일한 포트 디버그를 사용하도록 구성된 경우, 서버가 시작하지 못할 수 있습니다. 예를 들어, 두 서버가 모두 디버그 인수가 address=7777(디버그 주소 인수의 기본값)로 구성되어 있을 수도 있습니다.

정보
데이터 유형 String
단위 Java 명령행 인수

일반 JVM 인수

애플리케이션 서버 프로세스를 시작하는 JVM(Java Virtual Machine) 코드로 전달할 명령행 인수를 지정합니다.

일반 JVM 인수 필드에 다음 선택적 명령행 인수를 입력할 수 있습니다. 둘 이상의 인수를 입력하는 경우 각 인수 사이에 공백을 입력하십시오.
유의: 인수가 IBM Developer Kit 전용인 경우, 다른 제공자(예: Microsoft 또는 Hewlett-Packard)에서 JVM과 함께 해당 인수를 사용할 수 없습니다.
  • [z/OS][AIX Solaris HP-UX Linux Windows]-DhotRestartSync:

    동기화 서비스의 즉시 다시 시작 동기화 기능을 사용 가능하게 하려는 경우 -DhotRestartSync를 지정하십시오. 이 기능은 배치 관리자가 비활성 상태일 때 구성 업데이트가 수행되지 않은 환경에서 설치가 실행 중임을 동기화 서비스에 표시합니다. 따라서 배치 관리자 또는 노드 에이전트 서버 다시 시작 시 서비스가 전체 저장소 비교를 수행하지 않아도 됩니다. 이 기능을 사용 가능으로 설정하면 배치 관리자 또는 노드 에이전트가 다시 시작된 이후, 특히 혼합 릴리스 셀을 포함하고 다수의 노드를 사용하고 다수의 애플리케이션을 실행하는 설치에 대한 첫 번째 동기화 조작의 효율성이 향상됩니다.

  • -Dcom.ibm.crypto.provider.doAESInHardware:

    IBM SDK and Runtime Environment for AIX®, Java Technology Edition, 버전 7과 함께 제공되는 고급 암호화 표준(AES) 기능을 사용 가능하게 하려는 경우 이 옵션을 true로 설정하십시오. AES는 여러 라운드를 통해 데이터를 암호화 및 복호화하는 대칭적 블록 암호입니다. 이 기능을 사용하면 WebSphere® Application Server SSL 처리 성능을 향상시킵니다.

  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xquickstart
    기본 모드보다 낮은 최적화 레벨로 초기 컴파일을 하려는 경우 -Xquickstart를 지정하십시오. 또 나중에 샘플링 결과에 따라 기본 모드의 초기 컴파일 레벨로 다시 컴파일할 수 있습니다.
    우수 사례 우수 사례: -Xquickstart는 적당한 초기 속도가 최종 처리량보다 중요한 애플리케이션에서 사용하십시오. 몇몇 디버그 시나리오에서 하니스 및 단기 실행 도구를 테스트하면 시작 시간을 15 - 20% 개선할 수 있습니다.bprac
    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xverify:none

    클래스 로딩 중 클래스 확인 단계를 건너뛰려면 -Xverify:none을 지정하십시오. -Xverify:none을 사용하면 Java 클래스 확인이 사용 불가능해지므로 시작 속도가 10 - 15% 빨라질 수 있습니다. 그러나 이 인수를 지정하면 손상되거나 유효하지 않은 클래스 데이터가 발견되지 않습니다. 손상된 클래스 데이터가 로드되면, JVM이 예상치 못한 방식으로 동작하거나 실패할 수 있습니다.

    유의:
    • 인스트루먼테이션 오류가 발생한 경우 JVM에서 장애가 발생할 수 있으므로, 바이트 코드 수정을 한 경우에는 이 인수를 사용하지 마십시오.
    • 이 인수를 적용하는 동안 JVM 실패를 경험하거나 예상치 못한 방식으로 JVM이 동작하면, JVM 문제점 디버깅의 첫 번째 단계로 이 인수를 제거하십시오.
    • [IBM i]IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xnoclassgc

    가비지 콜렉션 콜렉션을 사용 불가능하게 하려면 -Xnoclassgc를 지정하십시오. 이 인수로 더 많은 클래스를 다시 사용할 수 있고 성능이 약간 향상됩니다. 그러나 이러한 클래스가 소유한 자원은 클래스가 호출되지 않는 경우라도 사용 중 상태를 유지합니다.

    유의: 가비지 콜렉션 콜렉션의 성능 영향은 일반적으로 최소이며, 애플리케이션 클래스 로더를 많이 사용하는 Java EE(Java Platform, Enterprise Edition) 기반 시스템에서 클래스 가비지 콜렉션을 끄면 클래스 데이터의 메모리 누수를 효율적으로 작성할 수 있고, JVM에서 메모리 부족 예외가 발생합니다.

    가비지 콜렉션을 모니터하려는 경우 verbose:gc 구성 설정을 사용할 수 있습니다. 결과로 생성된 출력을 사용하여 이러한 자원 재사용의 성능 영향을 판별할 수 있습니다.

    -Xnoclassgc 인수를 지정하면, 애플리케이션을 재배치할 때마다 이전 버전의 애플리케이션에서 클래스와 정적 데이터를 지우기 위해 항상 애플리케이션 서버를 다시 시작해야 합니다.

    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.이 플랫폼에서 클래스 가비지 콜렉션을 사용 불가능하게 하려면 -noclassgc 인수를 사용해야 합니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xgcthreads

    한 번에 여러 개의 가비지 콜렉션 스레드를 사용하려면 -Xgcthreads를 지정하십시오. 이 가비지 콜렉션 기술을 병렬 가비지 콜렉션이라고도 합니다. 이 인수는 IBM Developer Kit에만 유효합니다.

    일반 JVM 인수 필드에 값을 입력할 때 시스템에서 실행 중인 프로세서 수도 입력하십시오.

    -Xgcthreads를 다음과 같이 지정하십시오.

    -Xgcthreads<number of processors>

    유의: --Xgcthreads 및 프로세서 수에 해당하는 n 값 사이에 공백을 추가하지 마십시오.

    -Xgcthreads5는 5개 프로세서로 -Xgcthreads를 지정한 예입니다.

    우수 사례 우수 사례: 시스템에 둘 이상의 프로세서가 있으면 병렬 가비지 콜렉션을 사용해야 합니다. bprac
    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xnocompactgc

    힙 압축을 사용 불가능하게 하려면 -Xnocompactgc를 지정하십시오. 힙 압축은 가장 비싼 가비지 콜렉션 조작입니다. IBM 개발자 킷을 사용하는 경우 힙 압축을 방지해야 합니다. 힙 압축을 사용 불가능으로 하면 연관된 오버헤드를 모두 제거합니다.

    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xgcpolicy

    가비지 콜렉션 정책을 설정하려면 -Xgcpolicy를 지정하십시오. 이 인수는 IBM Developer Kit에만 유효합니다.

    처리량을 최적화하려는 경우 이 인수를 optthruput 으로 설정하면 가비지 콜렉션 일시정지가 길게 발생하는 경우 문제점을 작성하지 않습니다.

    세대별 가비지 콜렉터를 사용 중인 경우에는 이 인수를 gencon으로 설정하십시오. 세대별 스키마는 가비지 콜렉션 일시정지 시간의 축소와 함께 높은 처리량을 달성하려고 합니다. 이 목표를 달성하기 위해 힙이 새 세그먼트와 오래된 세그먼트로 분할됩니다. 오래 활동한 오브젝트는 오래된 공간으로 승격되는 반면 활동 기간이 짧은 오브젝트는 새 공간으로 빠르게 가비지 콜렉션됩니다. gencon 정책에서는 다수의 애플리케이션에 중요한 장점을 제공합니다. 그러나 모든 애플리케이션에 적합하지는 않으며 일반적으로 튜닝하기가 더 어렵습니다.

    힙이 가득 차기 전에 스택에서 시작하는 애플리케이션 스레드를 추적하는 데 사용되는 동시 표시를 원하는 경우, 이 인수를 optavgpause로 설정하십시오. 이 매개변수가 지정되면 가비지 콜렉터 일시정지가 균일해지고 장기 일시정지가 두드러지지 않습니다. 그러나 이 정책을 사용하면 추가 작업을 수행해야 할 수도 있으므로 처리량이 감소됩니다.

    마크, 스위프, 컴팩트 및 세대간 스타일의 가비지 콜렉션을 사용하려면 이 인수를 balanced로 설정하십시오. 동시 마크 단계는 사용하지 않습니다. 동시 가비지 콜렉션 기술을 사용하지만, 다른 정책을 위해 동시 마크를 구현한 방식에서는 사용하지 않습니다. 균형 정책에서는 Java™ 힙에 대해 영역 기반의 레이아웃을 사용합니다. 이러한 영역은 대형 힙에서 최대 일시정지 시간을 줄이고 가비지 콜렉션의 효율성을 향상시키기 위해 개별적으로 관리됩니다. 이 정책은 오브젝트 할당 및 생존 비율을 일치시켜 글로벌 콜렉션을 회피하려고 합니다. 글로벌 가비지 콜렉션에 의해 발생하는 애플리케이션 일시정지 시간에 문제점이 있는 경우(특히, 압축), 이 정책은 애플리케이션 성능을 향상시킬 수도 있습니다. NUMA(Non-Uniform Memory Architecture) 특성을 가진 대규모 시스템을 사용 중인 경우(x86 및 POWER® 플랫폼만 해당), 균형 정책은 추가적으로 애플리케이션 처리량을 향상시킬 수 있습니다.

    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-XX

    가비지 콜렉션 주기는 유효 기간에 따라 서로 독립적으로 오브젝트를 수집합니다. 추가 매개변수를 사용하여 메모리 풀의 크기를 개별적으로 설정할 수 있습니다. 보다 나은 성능을 위해, 풀에 있는 오브젝트가 둘 이상의 가비지 콜렉션 주기에서 유지되지 않는 것과 같이 라이프사이클이 짧은 오브젝트를 포함하는 풀 크기를 설정하십시오. 새 세대별 풀의 크기를 지정하려면 NewSizeMaxNewSize 매개변수를 사용하십시오.

    첫 번째 가비지 콜렉션 주기보다 오래 지속되는 오브젝트는 다른 풀로 전송됩니다. 대기 오브젝트 풀의 크기를 지정하려면 SurvivorRatio 매개변수를 사용하십시오.SurvivorRatio. 가비지 콜렉션 통계를 모니터하려면, Tivoli Performance Viewer가 수집하는 오브젝트 통계를 사용하거나 구성 설정값에 verbose:gc 인수를 포함할 수 있습니다. 가비지 콜렉션이 병목 현상이 되면, 다음 인수를 지정하여 사용자 환경에 더 적합하도록 세대별 풀 설정을 사용자 정의하십시오.
    -XX:NewSize=lower_bound 
    -XX:MaxNewSize=upper_bound
     -XX:SurvivorRatio=new_ratio_size 
    기본값은 다음과 같습니다.
    • NewSize=2m
    • MaxNewSize=32m
    • SurvivorRatio=32
    우수 사례 우수 사례: 그러나 힙 크기가 1GB보다 큰 JVM이 있는 경우에는 다음 값을 사용해야 합니다.
    • -XX:NewSize=640m
    • -XX:MaxNewSize=640m
    • -XX:SurvivorRatio=16
    bprac

    또는 총 힙 크기의 50% ~ 60%를 새 세대별 풀에 설정할 수 있습니다.

    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xminf

    사용 가능한 최소 힙 크기 백분율을 변경하려면 -Xminf를 지정하십시오. 사용 가능한 공간이 지정된 양보다 작으면 힙이 증가합니다. 재설정 사용 가능 모드에서, 이 인수는 미들웨어 및 임시 힙의 사용 가능한 공간의 최소 백분율을 지정합니다. 이 인수에 지정된 값은 0 - 1의 부동 소수점 수입니다. 기본값은 .3(30%)입니다.

    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-server | -client

    Java SE 6의 Java 핫스팟 기술은 시간이 흐름에 따라 바이트 코드가 수행되는 방법을 최적화하는 적용 JVM 포함 알고리즘을 사용합니다. JVM은 두 가지 모드(-server-client)로 실행됩니다. 대부분의 경우, 확장된 시간 동안 보다 효율적인 런타임 성능이 가능한 -server 모드를 사용하십시오.

    기본 -client 모드를 사용하면, 서버 시작 시간은 빨라지고 더 작은 메모리 풋프린트가 작성됩니다. 그러나 이 모드는 확장 성능을 저하시킵니다. 서버 시작 시간이 성능보다 더 중요하지 않은 경우 성능을 개선하는 -server 모드를 사용하십시오. 프로세스 크기 및 서버 시작 시간을 모니터하여 -client -server 모드 사이의 성능 차이를 점검하십시오.

    [IBM i]유의: IBM i에서는 이 인수가 지원되지 않습니다.
  • -Dcom.ibm.CORBA.RequestTimeout=timeout_interval

    클라이언트에서 전송된 요청에 응답할 제한시간 기간을 설정하려면 -Dcom.ibm.CORBA.RequestTimeout= timeout_interval 인수를 지정하십시오. 이 인수는 -D 옵션을 사용합니다. timeout_interval은 제한시간 기간(초 단위)입니다. 네트워크에서 잠복 상태가 지나치게 긴 경우 제한시간 초과를 방지할 큰 값을 지정하십시오. 너무 작은 값을 지정하면 워크로드 관리에 참여하는 애플리케이션 서버가 응답을 받기 전에 제한시간 초과가 발생할 수 있습니다.

    애플리케이션에 제한시간 문제가 있는 경우에만 이 인수를 지정하십시오. 이 인수에 대한 권장 값은 없습니다.

  • -Dcom.ibm.server.allow.sigkill=true

    -Dcom.ibm.server.allow.sigkill=true 인수는 중지 메소드가 Ping 간격에 지정된 시간 간격 내에 완료되지 않을 때 노드 에이전트 프로세스가 프로세스의 종료 메소드를 사용하도록 허용합니다. 이 설정은 노드 에이전트가 애플리케이션 서버를 모니터하고 해당 애플리케이션 서버와의 접속이 끊어진 경우 유용합니다.

    애플리케이션 서버에 대해 자동 다시 시작이 사용 가능하여 애플리케이션 서버의 모니터링 정책이 노드 에이전트가 애플리케이션 서버를 재시작하는 것을 허용하는 경우 노드 에이전트는 애플리케이션 서버 프로세스에 대해 중지 메소드를 실행합니다. 중지 처리 도중 노드 에이전트는 애플리케이션 서버를 모니터하고, 애플리케이션 서버가 Ping 간격에 지정한 시간 동안 중지되지 않고 이 인수가 기본값인 true로 설정되면, 노드 에이전트는 애플리케이션 서버 프로세스에 대해 종료 메소드를 실행하여 애플리케이션 서버 프로세스를 중지합니다.

    이 인수를 false로 설정하는 경우 노드 에이전트는 중지 프로세스를 계속 모니터하지만 애플리케이션 서버를 다시 시작하려고 하지는 않습니다.

    관리 콘솔을 사용하여 이 인수를 사용 불가능하게 하려면 시스템 관리 > 노드 에이전트 > nodeagent_name > Java & 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine) > 일반 JVM 인수를 클릭하십시오.

  • -Dcom.ibm.websphere.alarmthreadmonitor.hung_alarm_mute=

    이 인수는 시스템 로그의 스레드 정지 메시지에 전체 스택 추적을 보고하는 알람의 최대 회수를 지정합니다.

    시스템 알람 스레드가 알람 스레드 모니터 임계값보다 더 오래 활성인 경우 애플리케이션 서버는 알람 스레드 이름, 알람 스레드가 활성인 시간, 전체 예외 스택 추적과 함께 스레드 정지 메시지를 로그합니다. 전체 스택 추적은 지연의 원인을 디버깅하는데 유용하지만 스레드 정지 메시지가 자주 트리거되는 경우, 긴 메시지가 반복되면 시스템 로그에서 다른 정보를 찾기 어려울 수 있습니다. 전체 스택 추적을 보고하는 단일 알람의 최대 회수를 지정하려면 이 인수를 0 이상의 정수로 설정하십시오. 이 임계값에 도달한 후, 각 후속 스레드 정지 메시지에는 정지 알람 핸들러 항목만 포함됩니다.

    기본값 0은 알람에 대한 모든 스레드 정지 메시지에서 전체 스택 추적을 포함한다는 것을 나타냅니다.

    참고: 이 특성은 전체 메시지 수 또는 각 알람 핸들러 인스턴스가 아닌 각 알람 핸들러 클래스에 대한 임계값을 지정합니다.
  • -Dcom.ibm.websphere.native.logging.timestamp=true

    native_stdout 및 native_stderr 로그 파일의 출력인 모든 서버 디버그 메시지 전에 시간소인과 스레드 ID를 추가하도록 이 인수를 지정하십시오. SystemOut 및 SystemErr 로그 파일에 표시되는 시간소인과 스레드 ID를 사용하여 애플리케이션 서버 부트스트랩 구성요소의 동작을 다른 서버 메커니즘의 동작과 연관시킬 수 있습니다. 기본적으로 이 동작은 사용 불가능합니다.

    서버가 JVM 일반 인수 -Dws.ext.debug=true로 구성되면, 부트스트랩 시퀀스 도중 native_stdout.lognative_stderr.log에 대해 디버그 메시지를 생성합니다. -Dcom.ibm.websphere.native.logging.timestamptrue로 설정되어 있는 경우, 다음 예제에서 표시된 바와 같이 서버에서 시간소인과 스레드 ID를 포함한 디버그 메시지를 출력합니다.

    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[0]=-nosplash
    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[1]=-application
    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[2]=com.ibm.ws.bootstrap.WSLauncher
    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[3]=com.ibm.ws.runtime.WsServer
    참고: IBM support 담당자의 지시가 있는 경우에만 -Dws.ext.debug=true를 지정해야 합니다.
  • -Dcom.ibm.ws.wim.registry.DbSharedAcrossMultipleServers=true

    서로 다른 설치 간에 VMM(Virtual Member Manager) DB/LA 저장소가 공유되는 경우 -Dcom.ibm.ws.wim.registry.DbSharedAcrossMultipleServers=true를 지정하십시오. 클러스터 환경에서는 이 특성을 사용하지 않아야 합니다. 이 특성을 설정하면 VMM이 저장소를 공유하는 WebSphere Application Server 설치의 호출을 동기화할 수 있습니다.

  • [z/OS]-Dcom.ibm.websphere.wlm.unusable.interval=interval

    이 인수는 z/OS에만 적용됩니다. 클라이언트의 워크로드 관리 상태가 너무 이르거나 또는 너무 늦은 경우 com.ibm.websphere.wlm.unusable.interval 특성 값을 변경하려면 -Dcom.ibm.websphere.wlm.unusable.interval= timeout_interval 인수를 지정하십시오. 이 특성은 서버에 다시 접속하려고 시도하기 전에 사용 불가능으로 서버를 표시한 후 워크로드 관리 클라이언트 런타임이 대기하는 시간(초)을 지정합니다. 이 인수는 -D 옵션을 사용합니다. 기본값은 300초입니다. 이 특성이 큰 값으로 설정되면 서버는 오랜 동안 사용 불가능으로 표시됩니다. 이로써 시간이 종료되는 이후까지 워크로드 관리 새로 고치기 프로토콜이 클라이언트의 워크로드 관리 상태를 새로 고치지 않도록 방지합니다.

  • [z/OS]-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=

    이 인수는 z/OS에만 적용됩니다. 버퍼가 더 이상 필요하지 않게 되는 즉시 개별 직접 바이트 버퍼의 저장영역이 해제되어야 함을 표시하려면 -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= 인수를 지정하십시오. 이 인수에 지원되는 유일한 값은 com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl입니다.

    JVM이 요청 데이터를 처리하기 위해 작성하는 직접 바이트 버퍼는 JVM 힙 대신 LE(Language Environment®) 힙에 할당됩니다. 일반적으로 직접 바이트 버퍼가 더 이상 필요하지 않은 경우에도 JVM은 다음 가비지 콜렉션이 발생할 때까지 이 기본 LE 스토리지를 해제하지 않습니다. 서버가 대량 요청을 처리 중인 경우, JVM이 가비지 콜렉션 주기를 실행하기 전에 LE 스토리지가 소진될 수 있으며 이로 인해 서버가 비정상적으로 종료(이상 종료)됩니다. 다음 인수와 함께 JVM을 구성하면 이러한 이상 종료가 발생하지 않습니다.
    -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl

    [z/OS]z/OS 플랫폼에서는 이러한 버퍼가 연결에 더 이상 필요하지 않으면 새 연결에 사용되는 초기 읽기 버퍼를 채널에서 릴리스하도록 TCP 채널에 대해 zaioFreeInitialBuffers 사용자 정의 특성을 지정하는 경우 이 인수도 지정해야 합니다.

  • [z/OS]-DisSipComplianceEnabled=true|false

    SIP 프록시 서버에서 SIP 준수 검사를 사용할 수 있는지 여부를 지정합니다. SIP 준수 검사는 SIP 메시지가 SIP(Session Initiation Protocol) 표준을 따르도록 보장합니다. 이 특성이 true로 설정되면, SIP 준수 검사가 사용 가능합니다.

    유의: 프록시 서버를 z/OS WebSphere Application Server, Network Deployment 환경에서 실행하고 프록시 서버가 클러스터의 일부가 아닌 경우, isSipComplianceEnabled SIP 프록시 서버 사용자 정의 특성을 사용하여 해당 SIP 프록시 서버에 SIP 준수 검사를 사용 가능 또는 사용 불가능하게 할 수 있습니다. 그러나 독립형 애플리케이션 서버를 실행하거나 프록시 서버가 클러스터의 일부가 아닌 경우, 이 일반 JVM 인수를 사용하여 SIP 준수 검사를 사용 가능 또는 사용 불가능하게 해야 합니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]-Xshareclasses:none

    프로세스의 공유 클래스 옵션을 사용 불가능으로 설정하려면 -Xshareclasses:none 인수를 지정하십시오. 캐시에서 클래스를 공유하면 시작 시간이 개선되고 메모리 풋프린트가 감소합니다. 애플리케이션 서버, 노드 에이전트 및 배치 관리자와 같은 프로세스는 공유 클래스 옵션을 사용할 수 있습니다.

    이 옵션을 사용하면 프로세스가 사용 중이지 않을 때 캐시를 지워야 합니다. 캐시를 지우려면 <app_server_root>/bin/clearClassCache.bat 유틸리티를 호출하거나 프로세스를 중지한 후 프로세스를 다시 시작하십시오.

    참고: clearClassCache를 사용하는 경우 전체 캐시를 지우려면 접속된 모든 JVM을 중지해야 합니다.
    유의:
    • 애플리케이션 서버 프로세스에서 실행 중인 Java EE 애플리케이션 클래스가 공유 클래스 캐시에 추가되지 않습니다.
  • -XXallowvmshutdown:false

    올바르지 않은 JVM을 이전 작동으로 되돌리려면 -XXallowvmshutdown:false 인수를 사용하십시오. 이전 작동에 따라 좌우되는 애플리케이션이 있는 경우 이 인수를 일반 JVM 인수 섹션에 추가하여 이전 작동으로 되돌릴 수 있습니다.

정보
데이터 유형 String
단위 Java 명령행 인수

실행 가능 JAR 파일 이름

JVM 코드가 사용하는 실행 JAR 파일에 대한 전체 경로 이름을 지정합니다.

정보
데이터 유형 String
단위 경로 이름

JIT 사용 불가능

JVM 코드의 JIT(Just-In-Time) 컴파일러 옵션을 사용 불가능하게 할지 여부를 지정합니다.

JIT 컴파일러를 사용 불가능으로 하면 처리량이 눈에 띄게 줄어듭니다. 그러므로 성능상 이유로 JIT를 사용 가능으로 하십시오.

정보
데이터 유형 부울
기본값 false (JIT 사용 가능)
권장사항 JIT 사용 가능

운영 체제 이름

해당 운영 체제에 대한 JVM 설정을 지정합니다.

프로세스가 시작되면, 프로세스는 운영 체제에 대한 JVM 설정으로 노드에 대해 지정된 JVM 설정을 사용합니다.


주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=urun_rconfproc_jvm
파일 이름:urun_rconfproc_jvm.html