- 이슈 : THP가 일부 DB서버에서 문제가 될수 있습니다.
ex)
티베로 DB에서 일반적인 경우에는 hugepage 사용시, THP 기능 disable을 권고하고 있습니다.
_USE_HUGE_PAGE=Y 파라미터 사용시
1. THP(Transparent Huge Pages)란?
Linux는 메모리를 Page라는 블록으로 분할해 관리를 합니다. 기본 페이지의 크기는 4KB인데 만약 1기가의 메모리를 Page로 분할하게되면 256,000개의 Page로 분할됩니다. 메모리가 커질수록 Page의 개수가 늘어나면서 페이지를 관리하는 TLB(transparent lookaside buffer)의 크기가 같이 커지게 되는데 이걸 방지하기위해 Page자체의 크기를 키워 Page개수를 줄여 TLB의 크기를 작게 만드는 기술을 THP(Transparent Huge Pages) 라고 합니다.
2. THP비활성화 이유
THP는 Linux에서 기본적으로 활성화 되어 2MB의 단위로 설정이 되어있습니다. 서버의 메모리 용량이 100기가를 넘는 환경에서 THP는 메모리 관리면에서 유리한게 맞지만 THP가 오히려 성능을 저하시키는 경우가 자주 발견되고 있어 THP 비활성화를 권고하고 있습니다.
3. THP 비활성화 방법 및 확인
3.1. THP 설정 확인
- THP 상태 확인
현재 대괄호의 위치로 활성화인지 비활성화인지 확인 가능합니다.
always는 활성화 된 상태고 never는 비활성화 된 상태를 표시합니다.
3.2 THP 비활성화 방법
- 데몬 작동 확인
이 방법은 기본적으로 tuned 데몬을 사용합니다
- tuned에 새로운 프로필 생성
/etc/tuned에 새로운 프로필을 생성해줍니다.
- tuned.conf로 파일 생성 및 권한부여
생성한 프로필에 tuned.conf를 만들어 다음과 같이 작성하고 실행권한을 줍니다.
실행권한이 없으면 정상적으로 데몬에서 사용이 불가능합니다.
- 생성한 프로필 사용
생성한 프로필을 선택해 줍니다.
선택후 tuned-adm active를 입력해 현재 적용된 profile을 확인 할수 있습니다.
- grub수정
grub에 GRUB_CMDLINE_LINUX에 transparent_hugepage=never를 추가해 줍니다.
- grub2-mkconfig 적용
grub2-mkconfig -o /boot/grub2/grub.cfg명령어로 grub.cfg파일을 새로 구축합니다.
다음과 같이 적용을 안하면 reboot을 해도 적용되지 않습니다.
만약 부팅 모드를 UEFI로 설정해 설치한 경우 /boot/efi/EFI/redhat/grub.cfg로 경로를 설정해줍니다.
구축이 완료된후 리붓을 해 변경내용을 적용해 줍니다.
- 적용 확인
정상적으로 적용이 되어 meminfo에서 메모리를 사용하지 않게 됩니다.
참고문서
https://access.redhat.com/solutions/46111
How to use, monitor, and disable transparent hugepages in Red Hat Enterprise Linux 6 and 7? - Red Hat Customer Portal
How do transparent hugepages work in RHEL 6? How are transparent hugepages activated by a process? Do we still need to preallocate some amount of memory for use as (transparent) hugepages? How can I see the number of transparent hugepages that are actually
access.redhat.com
출처
http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=102&sca=OS
클럭스
클럭스, S/W 프로젝트
www.chlux.co.kr
'Linux > Linux공통' 카테고리의 다른 글
[Linux] CentOS 7 Local Repository 만드는 방법 (인터넷 없이 yum 사용) (0) | 2024.01.22 |
---|---|
[Linux] RPM 과 YUM의 패키지 설치 차이 (0) | 2024.01.22 |
[Linux] 메모리 효율을 위한 vfs_cache_pressure (1) | 2024.01.09 |
[Linux] xhost 설치 및 사용법 (0) | 2023.06.06 |
[Linux] top 명령어로 서버의 상태 파악하기 (0) | 2023.04.04 |