[MONGODB] 어떻게하여 MongoDB에서 transparent_hugepage / 조각 모음 경고를 피하기 위해?
MONGODB어떻게하여 MongoDB에서 transparent_hugepage / 조각 모음 경고를 피하기 위해?
나는 THP에 대해 MongoDB의에서 다음과 같은 경고 메시지가 표시됨
2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
하지만 수동으로 끌 THP에 관리 않았다
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
나는 년을 / etc / 기본 / 애벌레 결코 GRUB_CMDLINE_LINUX_DEFAULT에 = transparent_hugepage을 추가하고 추가하여 속임수를 썼는지
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
에 /etc/rc.local에
어떻게이 땅에서 나는 경고를 피할 수있다?
해결법
-
==============================
1.공식 MongoDB의 문서는이 문제에 대한 몇 가지 솔루션을 제공합니다. 당신은 또한 나를 위해 일한이 솔루션을 시도 할 수 있습니다 :
공식 MongoDB의 문서는이 문제에 대한 몇 가지 솔루션을 제공합니다. 당신은 또한 나를 위해 일한이 솔루션을 시도 할 수 있습니다 :
참고 : MongoDB의 버전보다 큰 3.0의 경우 공식 문서의 지시를보십시오
여기 /etc/init.d/mongod에 추가 할 줄은 다음과 같습니다 :
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
즉입니다!
-
==============================
2.MongoDB를 이제있는 init.d 스크립트를 사용하는 그들의 권고를 업데이트 한 : http://docs.mongodb.org/master/tutorial/transparent-huge-pages/
MongoDB를 이제있는 init.d 스크립트를 사용하는 그들의 권고를 업데이트 한 : http://docs.mongodb.org/master/tutorial/transparent-huge-pages/
-
==============================
3.우분투 14.04를 들어 갑자기 출세 한 사용 :
우분투 14.04를 들어 갑자기 출세 한 사용 :
우리가 Ansible와 기계를 배포하고 있기 때문에 나는 RC 파일 또는 GRUB의 CONFIGS을 수정 좋아하지 않는다.
나는 빠른 (또는 느린 시스템)에서 서비스를 시작할 때 타이밍 문제로 sysfsutils / sysfs.conf하지만 RAN을 사용했습니다. 그것은 sysfsutils 전에 시작되었다 mongod 때때로처럼 보였다. 때로는 때로는하지 않았다,했다.
mongod는 신출내기 과정이기 때문에 나는 깨끗한 솔루션은 다음과 같은 내용으로 파일 /etc/init/mongod_vm_settings.conf을 추가하는 것을 발견했다 :
# Ubuntu upstart file at /etc/init/mongod_vm_settings.conf # # This file will set the correct kernel VM settings for MongoDB # This file is maintained in Ansible start on (starting mongod) script echo "never" > /sys/kernel/mm/transparent_hugepage/enabled echo "never" > /sys/kernel/mm/transparent_hugepage/defrag end script
이 mongod가 시작됩니다 직전 스크립트를 실행합니다. 다시 시작 mongod (sudo는 서비스 mongod 다시 시작) 및 다.
-
==============================
4.업데이트 : 가상 호스팅 제공 업체를 사용하는 경우, IFF 부팅이 지원되는 GRUB 작동합니다. 디지털 오션을 지원하지 않음에 GRUB 부트.
업데이트 : 가상 호스팅 제공 업체를 사용하는 경우, IFF 부팅이 지원되는 GRUB 작동합니다. 디지털 오션을 지원하지 않음에 GRUB 부트.
-
==============================
5.조각 모음이 활성화에 관계없이 조사 것을 확인 :
조각 모음이 활성화에 관계없이 조사 것을 확인 :
$ cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] $ cat /sys/kernel/mm/transparent_hugepage/defrag [always] madvise never $ service mongod start ... (in log) WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always' $ echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag $ cat /sys/kernel/mm/transparent_hugepage/defrag always madvise [never] $ service mongod stop $ service mongod start ... (no warning in log)
따라서,이 버그에 대한 수정 transparent_hugepage 처음 보는 것입니다 / 활성화, 그것은 결코없는 경우에는 관련이없는 transparent_hugepage / 조각 모음 설정을보고 귀찮게하지 않습니다.
출처.
-
==============================
6.우분투 16.04는 systemd 사용 :
우분투 16.04는 systemd 사용 :
systemctl 편집 mongod
다음 붙여 넣기 :
[Service] PermissionsStartOnly=true ExecStartPre=/bin/sh -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled" ExecStartPre=/bin/sh -c "echo never > /sys/kernel/mm/transparent_hugepage/defrag"
from https://stackoverflow.com/questions/28911634/how-to-avoid-transparent-hugepage-defrag-warning-from-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 블로그 MongoDB의 스키마 설계 (0) | 2019.12.13 |
---|---|
[MONGODB] 코드 (100)와 MongoDB를 닫힌다 아래로 (0) | 2019.12.13 |
[MONGODB] 생산 코드에 몽구스 색인 (0) | 2019.12.13 |
[MONGODB] MongoDB의에서 멀티 테넌트 (multi-tenant) 데이터베이스에 대한 권장되는 방법은 무엇입니까? (0) | 2019.12.13 |
[MONGODB] 하나의 명령에 MongoDB를 중지하는 방법 (0) | 2019.12.13 |