Splunk를 사용하는 경우 THP(Transparent huge memory pages)의 사용 여부에 따른 성능의 차이가 발생한다.

대부분의 리눅스 OS에서는 메모리를 관리하기 위해 TMP를 사용하고 있지만 요즘 CPU는 대부분 MMU를 가지고 있고 MMU가 페이지에 대한 메모리를 관리한다.

이 때 MMUs는 수 기가, 수 테라 메모리를 관리한다.

이는 큰 페이지의 스와핑으로 인해 IO가 많이 발생된다.

스플렁크 홈페이지에서 확인 시에 THP를 비활성화 하기를 권장한다.(http://docs.splunk.com/Documentation/Splunk/6.4.4/ReleaseNotes/SplunkandTHP)

최소 30% 이상의 검색 성능 해택을 볼수 있다.


그럼 어떻게 하면 될까?

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

* Ubuntu에서는 다음과 같이 한다.

echo never > /sys/kernel/mm/transparent_hugepage/enabled


Splunk를 재 시작할 필요는 없다.


확인하는 방법은 아래와 같다.


cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

cat /sys/kernel/mm/redhat_transparent_hugepage/defrag

Splunk에서 확인한다면 $SPLUNK_HOME/var/log/splunk/splunkd.log에서 아래의 커맨드로 확인할 수 있다.

grep hugetables /opt/splunk/var/log/splunk/splunkd.log


OS에서 Reboot 시 변경하려면 아래와 같이 하면 된다.(/etc/rc.local)

# disable THP at boot time

if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then

   echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then

   echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

fi


도대체 시스템에서 얼마나 쓰고 있는지 확인하고 싶다면...

grep AnonHugePages /proc/meminfo


저작자 표시
신고

'Splunk' 카테고리의 다른 글

스플렁크(Splunk) THP  (0) 2016.12.06

+ Recent posts