36.3. 부팅 시 HugeTLB 구성
HugeTLB 하위 시스템에서 지원하는 페이지 크기는 아키텍처에 따라 다릅니다. x86_64 아키텍처는 2MB 의 대규모 페이지와 1GB 기유지 페이지를 지원합니다.
다음 절차에서는 부팅 시 1GB 페이지를 예약하는 방법을 설명합니다.
절차
1GB페이지에 대한 HugeTLB 풀을 생성하려면default_hugepagesz=1G및hugepagesz=1G커널 옵션을 활성화합니다.grubby --update-kernel=ALL --args="default_hugepagesz=1G hugepagesz=1G"
# grubby --update-kernel=ALL --args="default_hugepagesz=1G hugepagesz=1G"Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/lib/systemd/system/디렉토리에hugetlb-gigantic-pages.service라는 새 파일을 생성하고 다음 내용을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/lib/systemd/디렉토리에hugetlb-reserve-pages.sh라는 새 파일을 생성하고 다음 내용을 추가합니다.다음 콘텐츠를 추가하는 동안 number_of_pages 를 예약할 1GB 페이지 수로 교체하고, node 를 해당 페이지를 예약할 노드 이름으로 바꿉니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어 node0에
1GB 페이지2개와 node 1에 1GB 페이지를 예약하려면 node 0 의 경우 number_of_pages 를 2로, node1 의 경우 1 로 교체합니다.reserve_pages 2 node0 reserve_pages 1 node1
reserve_pages 2 node0 reserve_pages 1 node1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실행 가능한 스크립트를 생성합니다.
chmod +x /usr/lib/systemd/hugetlb-reserve-pages.sh
# chmod +x /usr/lib/systemd/hugetlb-reserve-pages.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 초기 부팅 예약 활성화:
systemctl enable hugetlb-gigantic-pages
# systemctl enable hugetlb-gigantic-pagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
언제든지
nr_hugepages에 작성하여 런타임 시 더 많은1GB페이지를 예약할 수 있습니다. 그러나 메모리 조각화로 인한 실패를 방지하려면 부팅 프로세스 중에 초기에1GB페이지를 예약하십시오. - 정적 대규모 페이지를 예약하면 시스템에서 사용할 수 있는 메모리의 양을 효과적으로 줄이고 전체 메모리 용량을 제대로 활용하지 못하도록 할 수 있습니다. 예약된 대규모 페이지의 적절한 크기 풀은 이를 활용하는 애플리케이션에 도움이 될 수 있지만 예약된 대규모 페이지의 과도한 크기 또는 사용되지 않은 풀은 결과적으로 전체 시스템 성능에 지장을 줍니다. 예약된 대규모 페이지 풀을 설정할 때 시스템이 전체 메모리 용량을 적절히 활용할 수 있는지 확인합니다.