공유할 서비스 선택

TECH


TECH

OS [Linux] THP 비활성화 방법 및 설명

페이지 정보

작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 0건 조회 6,569회 좋아요 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 상태 확인

    69cff0704d9966579db2f975bd9a4552_1591600587_4135.png 

    현재 대괄호의 위치가 활성화인지 비활성화인지 확인 가능합니다.

    always 활성화 상태고 never 비활성화 상태를 표시합니다.

 

  3.2 THP 비활성화 방법

    - 데몬 작동 확인

    69cff0704d9966579db2f975bd9a4552_1591600618_9161.png 

    방법은 기본적으로 tuned 데몬을 사용합니다

 

    - tuned에 새로운 프로필 생성

    69cff0704d9966579db2f975bd9a4552_1591600659_9461.png 

    /etc/tuned 새로운 프로필을 생성해줍니다.

 

    - tuned.conf로 파일 생성 및 권한부여

    69cff0704d9966579db2f975bd9a4552_1591600707_0789.png 

    생성한 프로필에 tuned.conf 만들어 다음과 같이 작성하고 실행권한을 줍니다.

    실행권한이 없으면 정상적으로 데몬에서 사용이 불가능합니다.

 

    - 생성한 프로필 사용

    69cff0704d9966579db2f975bd9a4552_1591600863_0394.png 

    생성한 프로필을 선택해 줍니다.

    선택후 tuned-adm active를 입력해 현재 적용된 profile을 확인 할수 있습니다.

 

    - grub수정 

    69cff0704d9966579db2f975bd9a4552_1591601067_4746.png 

    grub GRUB_CMDLINE_LINUX transparent_hugepage=never 추가해 줍니다.

 

    - grub2-mkconfig 적용 

    69cff0704d9966579db2f975bd9a4552_1591601182_07.png 

    grub2-mkconfig -o /boot/grub2/grub.cfg명령어로 grub.cfg파일을 새로 구축합니다.

    다음과 같이 적용을 안하면 reboot을 해도 적용되지 않습니다. 

    만약 부팅 모드를 UEFI 설정해 설치한 경우 /boot/efi/EFI/redhat/grub.cfg 경로를 설정해줍니다.

 

   
   
구축이 완료된후 리붓을 변경내용을 적용해 줍니다.

 

    - 적용 확인 

    69cff0704d9966579db2f975bd9a4552_1591601244_7178.png
    정상적으로 적용이 되어 meminfo에서 메모리를 사용하지 않게 됩니다.


4. 참고문서

  https://access.redhat.com/solutions/46111

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
128 ETC Leesangwoo 아이디로 검색 전체게시물 07-22 1603
[ mssql ] Centos 8 에서 mssql 설치

카테고리 : ETC

1,603 0
작성자 : Leesangwoo 22/07/22
127 Middleware 미들웨어 아이디로 검색 전체게시물 07-06 1236
(오픈소스 활용-9) Jenkins 활용 방법 추가 정리 (Docker 활용, Tomcat 설치없이 기동, 에러로그등)

카테고리 : Middleware

1,236 0
작성자 : 미들웨어 22/07/06
126 OS LeeHyongDong 아이디로 검색 전체게시물 07-01 3182
[Linux] RHEL 9.0 변경 사항

카테고리 : OS

3,182 0
작성자 : LeeHyongDong 22/07/01
125 ETC Leesangwoo 아이디로 검색 전체게시물 06-30 1749
[ Postgresql ] Postgresql 설치 및 구성

카테고리 : ETC

1,749 0
작성자 : Leesangwoo 22/06/30
124 ETC Leesangwoo 아이디로 검색 전체게시물 06-29 2426
[ MariaDB ] MariaDB InnoDB buffer_pool 설정 및 사용량 확인

카테고리 : ETC

2,426 0
작성자 : Leesangwoo 22/06/29
123 Middleware 미들웨어 아이디로 검색 전체게시물 06-22 2705
(오픈소스 활용-8) Flask 2장 - Flask 구성 및 실행 방법

카테고리 : Middleware

2,705 0
작성자 : 미들웨어 22/06/22
122 OS LeeHyongDong 아이디로 검색 전체게시물 06-17 3403
[Linux] RHEL 8 loopback 인터페이스 IP 설정

카테고리 : OS

3,403 0
작성자 : LeeHyongDong 22/06/17
121 Middleware 미들웨어 아이디로 검색 전체게시물 06-08 3320
(오픈소스 활용-7) Flask 1장 - Flask 설치 및 python (2.7 -> 3.6) 업그레이드 방법

카테고리 : Middleware

3,320 0
작성자 : 미들웨어 22/06/08
120 Middleware 미들웨어 아이디로 검색 전체게시물 05-23 2246
(오픈소스 활용-6) nmap 활용하여 포트스캔 및 방화벽 port 오픈됐는지 확인

카테고리 : Middleware

2,246 0
작성자 : 미들웨어 22/05/23
119 Middleware 미들웨어 아이디로 검색 전체게시물 05-09 926
(Migration) 마이그레이션 툴킷 MTA 다운로드, 설치 및 특이사항 정리

카테고리 : Middleware

926 0
작성자 : 미들웨어 22/05/09
Total 198건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top