Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

8.2.3.2. 정적 대규모 페이지 구성

경우에 따라 대규모 페이지를 더 많이 제어하는 것이 좋습니다. 게스트의 정적 대규모 페이지를 사용하려면 virsh edit 를 사용하여 게스트 XML 구성에 다음을 추가합니다.
<memoryBacking>
        <hugepages/>
</memoryBacking>
이는 기본 페이지 크기를 사용하는 대신 대규모 페이지를 사용하여 게스트에 메모리를 할당하도록 호스트에 지시합니다.
다음 명령을 실행하여 현재 대규모 페이지 값을 확인합니다.
cat /proc/sys/vm/nr_hugepages

절차 8.1. 대규모 페이지 설정

다음 예제 절차에서는 대규모 페이지를 설정하는 명령을 보여줍니다.
  1. 현재 대규모 페이지 값을 확인합니다.
    # cat /proc/meminfo | grep Huge
    AnonHugePages:      2048 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
  2. 대규모 페이지는 2MB 단위로 설정됩니다. 대규모 페이지 수를 25000으로 설정하려면 다음 명령을 사용합니다.
    echo 25000 > /proc/sys/vm/nr_hugepages
    참고
    설정을 영구적으로 설정하려면 게스트 시스템의 /etc/sysctl.conf 파일에 다음 행을 추가합니다. X는 의도한 대규모 페이지 수입니다.
    # echo 'vm.nr_hugepages = X' >> /etc/sysctl.conf
    # sysctl -p
    
    그런 다음 게스트의 /etc/grub2.cfg 파일의 /kernel 행 끝에 추가하여 transparent_hugepage=never 를 커널 부팅 매개변수에 추가합니다.
  3. 대규모 페이지를 마운트합니다.
    # mount -t hugetlbfs hugetlbfs /dev/hugepages
  4. 가상 머신의 XML 구성의 memoryBacking 섹션에 다음 행을 추가합니다.
    <hugepages>
      <page size='1' unit='GiB'/>
    </hugepages>
    
  5. libvirtd 를 다시 시작합니다.
    # systemctl restart libvirtd
    • VM을 시작합니다.
      # virsh start virtual_machine
    • VM이 이미 실행 중인 경우 다시 시작합니다.
      # virsh reset virtual_machine
  6. /proc/meminfo 의 변경 사항을 확인합니다.
    # cat /proc/meminfo | grep Huge
    AnonHugePages:         0 kB
    HugePages_Total:   25000
    HugePages_Free:    23425
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
대규모 페이지는 호스트뿐만 아니라 게스트도 활용할 수 있지만 총 대규모 페이지 값은 호스트에서 사용 가능한 것보다 작아야 합니다.