본문 바로가기

개발

[MongoDB] 몽고디비 접속시 We suggest setting it to 'never' 경고 해결



MongoDB 3.0.6/우분투 기준으로 설치후 mongo명령어로 접속시 아래와 같은 경고를 만나실 수 있습니다.


MongoDB shell version: 3.0.6

connecting to: test

Server has startup warnings: 

2015-10-01T19:41:55.449+0900 I CONTROL  [initandlisten] 

2015-10-01T19:41:55.449+0900 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.

2015-10-01T19:41:55.449+0900 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

2015-10-01T19:41:55.449+0900 I CONTROL  [initandlisten] 

2015-10-01T19:41:55.449+0900 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.

2015-10-01T19:41:55.449+0900 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

2015-10-01T19:41:55.450+0900 I CONTROL  [initandlisten] 


이게 THP라는 메모리관리 시스템인듯 한데 정확히는 모르겠네요

이걸 비활성화 하면 된다라고 몽고디비 공식 가이드 문서에 나와있습니다 [ 바로보기 ]


THP비활성은 공식문서를 보고 똑같이 하시면됩니다.

하지만 그게 끝은 아니고 아래와 같이 /etc/init.d/mongo.conf 를 아래처럼 수정해주셔야 합니다

$ sudo vi /etc/init/mongod.conf


위 파일을 여신다음 아래 부분을 찾습니다

chown $DAEMONUSER /var/run/mongodb.pid


바로 아래에 색이 강조된 내용을 추가해줍니다

  DAEMONUSER=${DAEMONUSER:-mongodb}

  if [ ! -d /var/lib/mongod ]; then

    mkdir -p /var/lib/mongodb && chown mongodb:mongodb /var/lib/mongodb

  fi

  if [ ! -d /var/log/mongod ]; then

    mkdir -p /var/log/mongodb && chown mongodb:mongodb /var/log/mongodb

  fi

  touch /var/run/mongodb.pid

  chown $DAEMONUSER /var/run/mongodb.pid

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

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

fi

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

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

fi

end script


위처럼 하시고 저장하시면 mongo 데몬을 재시작해주시면 이제 경고는 뜨지 않을겁니다.