4.3. 대규모 페이지 활성화

JBoss EAP JVM에 대해 대규모 페이지를 활성화하면 메모리에 잠긴 페이지가 있고 일반 메모리와 같이 디스크로 교체할 수 없습니다.

특히 메모리를 많이 사용하는 애플리케이션의 경우 대규모 페이지를 사용할 경우 힙을 호출하거나 디스크에 스왑할 수 없으므로 항상 쉽게 사용할 수 있습니다.

큰 페이지를 사용하는 한 가지 단점은 시스템에서 실행 중인 다른 프로세스에서 메모리에 대한 빠른 액세스가 없을 수 있으므로 이러한 프로세스에 대해 과도한 페이징이 발생할 수 있다는 것입니다.

다른 성능 구성 변경과 마찬가지로 테스트 환경 변경의 영향을 테스트하는 것이 좋습니다.

사전 요구 사항

  • 운영 체제 구성이 대규모 페이지를 사용하도록 설정되어 있습니다.

절차

  1. 운영 체제가 JBoss EAP 프로세스에 대규모 페이지를 사용하도록 구성되지 않은 경우 다음 옵션 중 하나를 선택합니다.

    • Red Hat Enterprise Linux 시스템의 경우 JBoss EAP 프로세스가 대규모 페이지에 액세스할 수 있도록 명시적으로 HugeTLB 페이지를 구성해야 합니다.

      Red Hat Enterprise Linux 메모리 옵션 구성에 대한 자세한 내용은 Red Hat Enterprise Linux 성능 튜닝 가이드의 메모리 장을 참조하십시오.

    • JBoss EAP를 실행하는 Windows Server 시스템의 경우 대규모 페이지 권한을 할당해야 합니다.

      1. 컨트롤 패널관리 도구로컬 보안 정책을 선택합니다.
      2. 로컬 정책사용자 권한 할당을 선택합니다.
      3. 메모리에서 Lock pages를 두 번 클릭합니다.
      4. 대규모 페이지를 사용할 Windows Server 사용자 및 사용자 그룹을 추가합니다.
      5. 시스템을 다시 시작합니다.
  2. 대규모 페이지 지원을 활성화하거나 비활성화합니다.

    • JBoss EAP JVM에 대한 대규모 페이지 지원을 명시적으로 활성화하려면 다음 JVM 옵션을 사용합니다.

      -XX:+UseLargePages
    • JBoss EAP JVM에 대한 대규모 페이지 지원을 명시적으로 비활성화하려면 다음 JVM 옵션을 사용합니다.

      -XX:-UseLargePages
  3. JBoss EAP를 시작할 때 메모리 예약과 관련된 경고가 없는지 확인합니다.

    • Red Hat Enterprise Linux에서 오류는 다음과 같을 수 있습니다.

      OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
    • Windows Server에서 오류는 다음과 같을 수 있습니다.

      Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory.

    경고가 표시되면 운영 체제 구성 및 JVM 옵션이 올바르게 구성되었는지 확인합니다.

추가 리소스