byidev.com
2024-04-16 00:36:35

Hugepages

 Hugepages 설정의 경우 일부 라이브러리 또는 애플리케이션, 데이터베이스 에서 지원하는 경우 사용할 수 있고 설정 값 변경을 통해 성능을 비약적으로 높일 수 있다. 대략적인 개념은 기본 Hugepages 설정값은 4kb 정도 되는데 이는 메모리를  참조할 때 설정값 만큼 쪼개서 쓰겠다는 말이다. Hugepages 설정값을 높일 경우 하나 하나의 Hugepages 용량이 증가함에 따라 메모리를 쪼개 쓰는 개수가 적어지기 때문에 참조에 있어 속도가 증가한다는 것이다.

 Hugepages는 애플리케이션에서 지원하는 것도 중요하지만, 제일 먼저 확인해야할 점은 CPU에서 지원하는가이다. cpu flags에서 pse가 있을 경우 hugepages는 최대 2MB, pdpe가 있을 경우 hugepages는 최대 1GB까지 사용이 가능하다. pse36 플래그도 있지만 이는 생략하겠다.

 

Hugepages 설정 값 변경

1. grub 설정 파일 수정을 위한 vi 편집기를 실행한다.

vi /etc/default/grub

 

2. 기존 내용에 Hugepages 내용 추가한다. 이때, 각각의 설정값은 자신의 cpu flags와 목표 값에 따른다.

GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=20"

 

3. grub에 작성한 Hugepages의 설정값을 반영한다. 이때 자신의 OS가 Legacy 부팅인지 UEFI부팅인지에 따라 커맨드가 다르므로 해당 내용을 꼭 확인하기 바란다. 또한, 필자는 CentOS이기 때문에 centos라고 적었지만 해당 내용은 자신이 사용중인 리눅스 종류/버전을 적어야 한다.

grub2-mkconfig -o /boot/grub2/grub.cfg // Legacy
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg // UEFI

 

4. 재부팅을 기준으로 설정값이 반영된다. 설정 값 반영 확인을 위해 다음의 커맨드를 입력한다.

grep -l huge /proc/meminfo