OS [Linux] THP 비활성화 방법 및 설명
페이지 정보
작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 0건 조회 9,085회 좋아요 0회 작성일 20-06-08 16:29본문
THP 비활성화 방법 및 설명
소개
THP는 페이지를 동적으로 할당하여 사용하는 기능입니다.
환경
RHEL/CentOS 7버전
이슈
THP가 일부 DB서버에서 문제가 될수 있습니다.
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에서 메모리를 사용하지 않게 됩니다.
4. 참고문서
댓글목록
등록된 댓글이 없습니다.