Red Hat Training

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

7.4. Transparent Huge Pages 설정

THP(Transparent Huge Pages)는 HugeTLB의 대체 솔루션입니다. THP를 사용하면 커널이 프로세스에 대규모 페이지를 자동으로 할당하므로 대규모 페이지를 수동으로 예약할 필요가 없습니다.
THP 기능에는 시스템 전체 및 프로세스별 두 가지 모드가 있습니다. THP를 시스템 전체에서 활성화하면 커널은 대규모 페이지를 할당할 수 있을 때 모든 프로세스에 대규모 페이지를 할당하려고 하며 프로세스에서 많은 연속 가상 메모리 영역을 사용합니다. THP가 프로세스별로 활성화된 경우 커널은 madvise() 시스템 호출로 지정된 개별 프로세스의 메모리 영역에만 대규모 페이지를 할당합니다.
THP 기능은 2MB 페이지만 지원합니다. 투명한 대규모 페이지는 기본적으로 활성화되어 있습니다. 현재 상태를 확인하려면 다음을 실행합니다.
# cat /sys/kernel/mm/transparent_hugepage/enabled
투명한 대규모 페이지를 활성화하려면 다음을 실행합니다.
# echo always > /sys/kernel/mm/transparent_hugepage/enabled
애플리케이션이 필요한 것보다 더 많은 메모리 리소스를 할당하지 못하도록 시스템 전체 대규모 페이지를 비활성화하고 다음을 실행하여 MADV_HUGEPAGE 구성 리전 내에서만 활성화할 수 있습니다.
# echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
투명한 대규모 페이지를 비활성화하려면 다음을 실행합니다.
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
경우에 따라 수명이 짧은 할당에 짧은 대기 시간을 제공하는 것이 수명이 긴 할당을 통해 최상의 성능을 달성하는 것보다 우선 순위가 높습니다. 이러한 경우 THP를 활성화한 상태로 두는 동안 직접 압축비활성화 할 수 있습니다.
직접 압축은 대규모 페이지 할당 중에 동기식 메모리 압축입니다. 직접 압축 기능을 비활성화하면 메모리 저장이 보장되지 않지만 자주 페이지 오류 발생 시 대기 시간이 증가할 위험이 증가할 수 있습니다. THP에서 워크로드가 상당한 이점을 얻을 경우 성능이 저하됩니다. 직접 압축을 비활성화하려면 다음을 실행합니다.
# echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
투명한 대규모 페이지에 대한 포괄적인 정보는 kernel-doc 패키지를 설치한 후 사용할 수 있는 /usr/share/doc/kernel-doc-kernel_version/Documentation/vm/transhuge.txt 파일을 참조하십시오.