Red Hat Training

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

8.2.3.3. 부팅 또는 런타임 시 게스트용 1GB 대규모 페이지 활성화

Red Hat Enterprise Linux 7 시스템은 부팅시 또는 런타임 시 할당할 수 있는 2MB 및 1GB 대규모 페이지를 지원합니다.

절차 8.2. 부팅 시 1GB 대규모 페이지 할당

  1. 부팅 시 다양한 대규모 페이지를 할당하려면 다음 명령을 사용하여 대규모 페이지 수를 지정합니다. 이 예에서는 4개의 1GB 대규모 페이지와 10242MB 대규모 페이지를 할당합니다.
    'default_hugepagesz=1G hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024'
    
    부팅 시 할당할 다른 수의 대규모 페이지를 지정하려면 이 명령줄을 변경합니다.
    참고
    부팅 시 1GB 대규모 페이지를 처음 할당할 때 다음 두 단계를 완료해야 합니다.
  2. 호스트에 2MB 및 1GB 대규모 페이지를 마운트합니다.
    # mkdir /dev/hugepages1G
    # mount -t hugetlbfs -o pagesize=1G none /dev/hugepages1G
    # mkdir /dev/hugepages2M
    # mount -t hugetlbfs -o pagesize=2M none /dev/hugepages2M
    
  3. 가상 머신의 XML 구성의 memoryBacking 섹션에 다음 행을 추가합니다.
    <hugepages>
      <page size='1' unit='GiB'/>
    </hugepages>
    
  4. libvirtd를 다시 시작하여 게스트에서 1GB 대규모 페이지를 사용할 수 있도록 합니다.
    # systemctl restart libvirtd
    

절차 8.3. 런타임 시 1GB 대규모 페이지 할당

1GB 대규모 페이지도 런타임 시 할당할 수 있습니다. 시스템 관리자는 런타임 할당을 통해 해당 페이지를 할당할 NUMA 노드를 선택할 수 있습니다. 그러나 런타임 페이지 할당은 메모리 조각화로 인해 부팅 시간 할당보다 할당 실패가 더 어려울 수 있습니다.
  1. 런타임 시 다양한 대규모 페이지를 할당하려면 다음 명령을 사용하여 대규모 페이지 수에 대한 값을 교체하고, NUMA 노드는 해당 페이지를 할당하지 않고 대규모 페이지 크기를 지정합니다.
    # echo 4 > /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
    # echo 1024 > /sys/devices/system/node/node3/hugepages/hugepages-2048kB/nr_hugepages
    
    이 예제 명령은 node1 에서 4개의 1GB 대규모 페이지와 node3 에서 10242MB 대규모 페이지를 할당합니다.
    이러한 대규모 페이지 설정은 호스트 시스템의 사용 가능한 메모리 크기에 따라 위 명령을 사용하여 언제든지 변경할 수 있습니다.
    참고
    다음 두 단계는 런타임에 1GB 대규모 페이지를 처음 할당할 때 완료해야 합니다.
  2. 호스트에 2MB 및 1GB 대규모 페이지를 마운트합니다.
    # mkdir /dev/hugepages1G
    # mount -t hugetlbfs -o pagesize=1G none /dev/hugepages1G
    # mkdir /dev/hugepages2M
    # mount -t hugetlbfs -o pagesize=2M none /dev/hugepages2M
    
  3. 가상 머신의 XML 구성의 memoryBacking 섹션에 다음 행을 추가합니다.
    <hugepages>
      <page size='1' unit='GiB'/>
    </hugepages>
    
  4. libvirtd를 다시 시작하여 게스트에서 1GB 대규모 페이지를 사용할 수 있도록 합니다.
    # systemctl restart libvirtd