Red Hat Training

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

7장. 메모리

이 장에서는 Red Hat Enterprise Linux 7의 메모리 관리 기능에 대해 간단히 설명합니다. 7.1절. “고려 사항” 성능에 영향을 미치는 메모리 관련 요인에 대해 설명합니다. 7.2절. “성능 문제 모니터링 및 진단” Red Hat Enterprise Linux 7 툴을 사용하여 메모리 사용률 또는 구성 세부 정보와 관련된 성능 문제를 진단하는 방법을 교육합니다. 7.5절. “시스템 메모리 용량 구성” 또한 7.3절. “HugeTLB Huge Pages 구성” 는 Red Hat Enterprise Linux 7의 메모리 관련 성능 문제를 해결하는 데 사용할 수 있는 툴과 전략에 대해 설명합니다.

7.1. 고려 사항

기본적으로 Red Hat Enterprise Linux 7은 중간 규모의 워크로드에 최적화되어 있습니다. 애플리케이션 또는 워크로드에 대량의 메모리가 필요한 경우 시스템의 가상 메모리를 관리하는 방식을 변경하면 애플리케이션의 성능을 향상시킬 수 있습니다.

7.1.1. 페이지 크기

물리적 메모리는 페이지라는 청크에서 관리됩니다. Red Hat Enterprise Linux 7에서 지원하는 대부분의 아키텍처에서 메모리 페이지의 기본 크기는 4KB입니다. 이 기본 페이지 크기는 다양한 종류의 워크로드를 지원하는 Red Hat Enterprise Linux 7과 같은 범용 운영 체제에 적합한 것으로 입증되었습니다.
그러나 특정 애플리케이션에서는 특정 경우에 더 큰 페이지 크기를 사용할 때 이점을 얻을 수 있습니다. 예를 들어 수백 메가바이트 또는 수십 기가 바이트로 구성된 대규모 및 비교적 수정된 대규모 데이터 세트에서 작동하는 애플리케이션은 4KB 페이지를 사용할 때 성능 문제가 발생할 수 있습니다. 이러한 데이터 세트에는 수십만 개의 4KB 페이지가 필요할 수 있으므로 운영 체제 및 CPU에 오버헤드가 발생할 수 있습니다.
Red Hat Enterprise Linux 7을 사용하면 큰 데이터 세트로 작업하는 애플리케이션에 더 큰 페이지 크기를 사용할 수 있습니다. 큰 페이지 크기를 사용하면 이러한 애플리케이션의 성능을 향상시킬 수 있습니다.
Red Hat Enterprise Linux 7에서는 두 가지 대규모 페이지, 즉 이 가이드의 정적 대규모 페이지 라고도 하는 HugeTLB 기능과 Transparent Huge Page 기능을 사용할 수 있습니다.

7.1.2. Translation Lookaside Buffer Size

페이지 테이블의 주소 매핑을 읽는 것은 시간이 오래 걸리며 리소스가 증가하므로 최근 사용된 주소인 Translation Lookaside Buffer(TLB)에 대한 캐시를 사용하여 CPU를 빌드합니다. 그러나 기본 TLB는 특정 수의 주소 매핑만 캐시할 수 있습니다. 요청된 주소 매핑이 TLB(즉, TLB가 누락됨)에 없는 경우 시스템은 여전히 페이지 테이블을 읽고 물리적 주소 매핑을 결정해야 합니다.
애플리케이션 메모리 요구 사항과 주소 매핑을 캐시하는 데 사용되는 페이지 크기 간의 관계로 인해 메모리 요구 사항이 큰 애플리케이션이 최소 메모리 요구 사항이 있는 애플리케이션보다 TLB에서 성능이 저하될 가능성이 높습니다. 따라서 가능한 경우 TLB 누락을 방지하는 것이 중요합니다.
HugeTLB 및 Transparent Huge Page 기능을 모두 사용하면 애플리케이션이 4KB보다 큰 페이지를 사용할 수 있습니다. 이를 통해 TLB에 저장된 주소가 더 많은 메모리를 참조할 수 있으므로 TLB 누락이 줄어들고 애플리케이션 성능이 향상됩니다.