다음 부분에서는 Red Hat Enterprise Linux에서 사용 가능한 메모리 관리 기능의 개요와 이러한 관리 기능을 사용하여 시스템에서 메모리 사용을 최적화하는 방법에 대해 설명합니다.
실제 메모리 주소는 메모리 관리의 일환으로 가상 메모리 주소로 변환됩니다. 물리적 주소에서 가상 주소로의 매핑 관계는 페이지 테이블이라는 데이터 구조에 저장됩니다. 모든 주소 매핑의 페이지 테이블을 읽는데 시간 및 리소스를 소비하게 되므로 최근 사용된 주소에 대한 캐시가 있습니다. 이러한 캐시를 TLB (Translation Lookaside Buffer)라고 합니다.
하지만 TLB는 많은 주소 매핑만을 캐시할 수 있습니다. 요청된 주소 매핑이 TLB에 없는 경우, 가상 주소 매핑에 물리 주소를 결정하기 위해 여전히 페이지 테이블을 읽을 수 있어야 합니다. 이는 "TLB 미스"라고 합니다. 대용량 메모리 요구 사항을 갖는 애플리케이션은 최소 메모리 요구 사항을 갖는 애플리케이션보다 TLB 미스에 의해 영향을 받을 가능성이 더 높습니다. 이는 메모리 요구 사항 및 TLB의 캐싱 주소 매핑에 사용되는 페이지의 크기 사이의 관계 때문입니다. 각 미스에는 페이지 테이블을 읽어오는 것이 포함되므로 가능한 이러한 미스를 피하는 것이 중요합니다.
HugeTLB (Huge Translation Lookaside Buffer)는 매우 큰 세그먼트에서 메모리 관리를 가능하게 하는 것으로 한 번에 보다 많은 주소 매핑을 캐시할 수 있습니다. 이는 TLB 미스의 가능성을 감소시키고 그 결과 대용량 메모리 요구 사항을 갖는 애플리케이션의 성능이 향상됩니다.
HugeTLB 설정에 대한 내용은 커널 문서
/usr/share/doc/kernel-doc-version
/Documentation/vm/hugetlbpage.txt
에서 참조하십시오.'OS > Linux' 카테고리의 다른 글
[Linux] Linux Performance Tuning (0) | 2014.03.14 |
---|---|
[RHEL] Understanding Linux Hugepages (0) | 2014.03.10 |
[RHEL] Understanding Virtual Memory (OLD version) (0) | 2014.03.10 |
[RHEL] 프로파일 메모리 사용에 Valgrind 사용 (0) | 2014.03.10 |
[RHEL] Huge Pages 및 Transparent Huge Pages (0) | 2014.03.10 |
[RHEL] 가상 메모리 튜닝 (0) | 2014.03.09 |
[RHEL] 이슈 : Page out activity when there is no current VM load (0) | 2014.03.08 |
[RHEL] Memory management and tuning options in Red Hat Enterprise Linux. (0) | 2014.03.08 |
[RHEL] Tuning Red Hat Enterprise Linux for Oracle and Oracle RAC performance (0) | 2014.03.08 |
[RHEL] What is the maximum support for hugepages (0) | 2014.03.08 |