검색

38.3. 부팅 시 HugeTLB 구성

download PDF

HugeTLB 하위 시스템이 지원하는 페이지 크기는 아키텍처에 따라 다릅니다. x86_64 아키텍처는 2MB 의 대규모 페이지 및 1GB gigantic 페이지를 지원합니다.

다음 절차에서는 부팅 시 1GB 페이지를 예약하는 방법을 설명합니다.

절차

  1. 1GB 페이지에 HugeTLB 풀을 생성하려면 default_hugepagesz=1Ghugepagesz=1G 커널 옵션을 활성화합니다.

    # grubby --update-kernel=ALL --args="default_hugepagesz=1G hugepagesz=1G"
  2. /usr/lib/systemd/system/ 디렉터리에 hugetlb-gigantic-pages.service 라는 새 파일을 생성하고 다음 콘텐츠를 추가합니다.

    [Unit]
    Description=HugeTLB Gigantic Pages Reservation
    DefaultDependencies=no
    Before=dev-hugepages.mount
    ConditionPathExists=/sys/devices/system/node
    ConditionKernelCommandLine=hugepagesz=1G
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/lib/systemd/hugetlb-reserve-pages.sh
    
    [Install]
    WantedBy=sysinit.target
  3. /usr/lib/systemd/ 디렉터리에 hugetlb-reserve-pages.sh 라는 새 파일을 생성하고 다음 콘텐츠를 추가합니다.

    다음 콘텐츠를 추가하는 동안 number_of_pages 를 예약하려는 1GB 페이지 수로 바꾸고 node 를 해당 페이지를 예약할 노드의 이름으로 바꿉니다.

    #!/bin/sh
    
    nodes_path=/sys/devices/system/node/
    if [ ! -d $nodes_path ]; then
        echo "ERROR: $nodes_path does not exist"
        exit 1
    fi
    
    reserve_pages()
    {
        echo $1 > $nodes_path/$2/hugepages/hugepages-1048576kB/nr_hugepages
    }
    
    reserve_pages number_of_pages node

    예를 들어 node1 에서 node0 1GB 페이지에 두 개의 1GB 페이지를 예약하려면 node0의 경우 number_of_pages 를 2로, node1 의 경우 1로 바꿉니다.

    reserve_pages 2 node0
    reserve_pages 1 node1
  4. 실행 가능한 스크립트를 생성합니다.

    # chmod +x /usr/lib/systemd/hugetlb-reserve-pages.sh
  5. 초기 부팅 예약을 활성화합니다.

    # systemctl enable hugetlb-gigantic-pages
참고
  • 언제든지 nr_hugepages 에 작성하여 런타임 시 더 많은 1GB 페이지를 예약할 수 있습니다. 그러나 메모리 조각화로 인한 실패를 방지하려면 부팅 프로세스 중에 초기에 1GB 페이지를 예약하십시오.
  • 정적 대규모 페이지를 예약하면 시스템에서 사용할 수 있는 메모리 양을 효과적으로 줄일 수 있으며 전체 메모리 용량을 제대로 사용하지 못하게 합니다. 예약된 대규모 페이지 풀은 적절하게 크기가 지정된 대규모 페이지를 활용하는 애플리케이션에 유용할 수 있지만, 결국 전체 시스템 성능에 부정적인 영향을 미칠 수 있습니다. 예약된 대규모 페이지 풀을 설정할 때 시스템이 전체 메모리 용량을 올바르게 활용할 수 있는지 확인합니다.

추가 리소스

  • 시스템의 systemd.service(5) 도움말 페이지
  • /usr/share/doc/kernel-doc-kernel_version/Documentation/vm/hugetlbpage.txt file
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.