오랜만에 글을 올리네요.
리눅스에서 디폴트 메모리 페이지 사이즈가 4K 인데, 2M 메가 단위로 사용하는걸 HUGE PAGE 라고 합니다.
오라클이나 PPAS/POSTGRESQL 이나 HUGE PAGE 설정을 해서 성능 개선이 가능합니다.
단 Transparent Huge Pages (THP) 방식으로 huge page 사용시는, 오라클이나 PostgreSQL 모두 성능이저하되므로 관련 설정을 끄시기 바랍니다.
다시 말하자면,
redhat/centos 서버에서 ppas/postgresql 의 shared buffers 메모리를 huge page 세팅을 해서 사용하고 싶다면, Transparent Huge Pages (THP) 설정은 off 하신후 사용하시기 바랍니다.
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
아래에 넣는게 가장 확실
vi /etc/grub.conf
...
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_gsdmdb01-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_gsdmdb01/lv_root rd_NO_MD rd_LVM_LV=vg_gsdmdb01/lv_swap SYSFonT=latarcyrheb-sun16 crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet transparent_hugepage=never
initrd /initramfs-2.6.32-431.el6.x86_64.img
...
(부팅할때마다 적용되도록 rc.local 에 적당히 넣으시고)
THP 에 대해서는 아래 참조
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-transhuge.html
[enterprisedb@test:/data/test]$ grep Huge /proc/meminfo
[enterprisedb@test:/data/test]$
[enterprisedb@test:/data/test]$
[enterprisedb@test:/data/test]$