[StackOverflow에서 부적절해 보이는 곳으로 질문을 이동했습니다.]
커널은 default_hugepagesz=1G
기본 페이지 크기를 정의하는 옵션으로 시작합니다. 따라서 애플리케이션에 대용량 메모리가 필요할 때 커널은 이를 위해 1G 페이지를 할당합니다.
커널이 부팅되면 hugepages=N
부팅 시 N개의 대형 페이지가 할당됩니다. 그러면 이 경우 커널은 자동으로 이 풀에서 페이지를 가져와 메모리 할당 시간을 절약하게 됩니까?
이 풀에 사용 가능한 페이지가 부족할 때 커널은 어떻게 큰 메모리를 할당합니까?
답변1
시작 시 hugepage를 할당하면 메모리 조각화가 발생하기 전에 페이지가 미리 할당된다는 장점이 있습니다. 할당된 hugepages의 수는 런타임 시 변경될 수 있으며 오버커밋 제한이 설정될 수 있습니다. hugepages로 변환할 수 있는 충분한 페이지가 있는 한 커널은 필요한 경우 오버커밋 제한까지 새로운 hugepages를 할당합니다.
바라보다관련 커널 문서더 알아보기.