문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 메모리]] == 개요 == Super Page, Huge Page, Extended Page Table이라고도 불리는 이 기술은 Page Table의 엔트리의 크기를 2MB로 늘릴 수 있는 기술이다. 이를 통해서 Page Table에 대한 Access를 줄이고 TLB 캐시 히트 정도를 늘리는 방법이다. 그러나 만약 데이터베이스처럼 메모리의 여러 공간을 광역적으로 사용하는 경우 이 기술을 사용하면, 오히려 Swap out되는 용량이 증가하여 속도가 저하 될 수도 있는 단점이 있다. 또한 이 기술을 사용하게 되면 internal fragmentation이 증가하게 되어서, 메모리를 효율적으로 사용하지 못한다는 단점과, swap-out을 하게 되면 매우 큰 용량이 swap-out되기 때문에 swapping기술을 효율적으로 사용하지 못한다는 단점이 있다. (이 이유로 리눅스의 huge page는 swap-out되지 않고 메모리에 상주하고 있다.) == 단점 == * Latency: Huge page는 Memory zeroing에 요구되는 시간이 길어지기 떄문에 Tail latency가 커지는 문제가 있다. * Bloat: Huge page는 할당된 메모리의 많은 부분이 실제로 사용되지 않도록 하여 Internal fragmentation이 증가하는 문제가 있다. 이러한 경우에는 Memory bloating이 생기게 된다. * Unfainess: Huge page를 사용하게 되면, 서로 다른 process사이에 영구적이고 큰 메모리 할당의 차이를 가져와, 속도차이가 발생하게 된다. == 리눅스 에서의 사용법 == * 명시적으로 [[hugetlbfs]]을 사용하는 방법이 있다. * Transparent Huge Page를 사용하여 암묵적으로 사용하는 방법이 있다. == Huge Page가 split되는 조건 == * Permission의 부분적인 수정 * Unmmap의 부분적인 수정 * Memory의 부분적인 공유 Huge page 문서로 돌아갑니다.