THP (Transparent Huge Pages): Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Added Knowledge Graph section)
(Fix: remove --- horizontal lines (7 removed))
 
Line 18: Line 18:
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


---


== Purpose ==
== Purpose ==
Line 28: Line 27:
* Non-goals: 다른 주제로의 확장
* Non-goals: 다른 주제로의 확장


---


== Key Concepts ==
== Key Concepts ==
Line 42: Line 40:
|}
|}


---


== Detailed Explanation ==
== Detailed Explanation ==
Line 67: Line 64:
|Transparen... [내용 계속]
|Transparen... [내용 계속]


---


== Best Practices ==
== Best Practices ==
Line 75: Line 71:
* 테스트 환경에서 먼저 검증
* 테스트 환경에서 먼저 검증


---


== References ==
== References ==
Line 81: Line 76:
* [https://wiki.hpcmate.com THP (Transparent Huge Pages)]
* [https://wiki.hpcmate.com THP (Transparent Huge Pages)]


---


== Related Pages ==
== Related Pages ==
Line 90: Line 84:
* [[Network]]
* [[Network]]


---


[[Category:Linux]]
[[Category:Linux]]

Latest revision as of 11:30, 17 July 2026

Template:Status

Template:TOC

Overview

THP (Transparent Huge Pages)에 대한 기술 문서입니다.

Summary

  • 무엇인가? - THP (Transparent Huge Pages)
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


Purpose

이 문서가 존재하는 이유

  • Goal: THP (Transparent Huge Pages)에 대한 기술 정보 제공
  • Scope: THP (Transparent Huge Pages)의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장


Key Concepts

Concept Description Related
THP (Transparent Huge Pages) HPC/서버 환경에서 중요한 기술 개념 Linux, Server


Detailed Explanation

Transparent Huge Pages (THP) is an alternative solution to HugeTLB. With THP, the kernel automatically assigns huge pages to processes, so huge pages do not need to be reserved manually The THP feature has two modes of operation: system-wide and per-process. When THP is enabled system-wide, the kernel tries to assign huge pages to any process when it is possible to allocate huge pages and the process is using a large contiguous virtual memory area. If THP is enabled per-process, the kernel only assigns huge pages to individual processes' memory areas specified with the madvise() system call. In Linux system, Memory is managed in blocks known as pages. A page is 4096 bytes. 1MB of memory is equal to 256 pages; 1GB of memory is equal to 256,000 pages, etc CPUs have a built-in memory management unit that contains a list of these pages. Two ways to enable the system to manage large amounts of memory:

  1. Increase the number of page table entries in the hardware memory management unit
  2. Increase the page size   

The first method is expensive, since the hardware memory management unit in a modern processor only supports hundreds or thousands of page table entries. Additionally, hardware and memory management algorithms that work well with thousands of pages (megabytes of memory) may have difficulty performing well with millions (or even billions) of pages. This results in performance issues: when an application needs to use more memory pages than the memory management unit supports, the system falls back to slower, software-based memory management, which causes the entire system to run more slowly. it can empact to performance critical computing applications dealing with large memory working sets. The first method is expensive, since the hardware memory management unit in a modern processor only supports hundreds or thousands of page table entries. Additionally, hardware and memory management algorithms that work well with thousands of pages (megabytes of memory) may have difficulty performing well with millions (or even billions) of pages. This results in performance issues: when an application needs to use more memory pages than the memory management unit supports, the system falls back to slower, software-based memory management, which causes the entire system to run more slowly. it can empact to performance critical computing applications dealing with large memory working sets.

Type Comments on THP
Database database workloads often perform poorly with THP enabled, because they tend to have sparse rather than contiguous memory access patterns. When running MongoDB on Linux, THP should be disabled for best performance.[1]

a Linux memory management feature, often slows down database performance[2]

Oracle Transparen... [내용 계속]


Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증


References


Related Pages

Knowledge Graph

Related

LinuxServerHardwareNetwork